Bob: mod_rewrite -> Fehlerhafte RewriteRule?

Beitrag lesen

»» RewriteRule ^edit/([a-zA-Z0-9]+.html)$ /page_edit.php?k=$1 [L]
»» RewriteRule ^([a-zA-Z0-9]+.html)$ /page.php?k=$1 [L]

Wobei es

RewriteRule ^edit/(.*) page_edit.php?k=$1 [L]
RewriteRule (.*) page.php?k=$1 [L]

ja auch tun dürfte, oder?

Nicht direkt, mit der letzten Regel wirst du bedingt durch den internen redirect immer page.php?k=page.php im Verzeichniskontext erhalten.

Es sei denn, er will explizit Underlines und Viertelgeviertstriche verbieten und die Datei _muss_ mit .html enden.

Und natürlich alle anderen „eingeschleusten“ Zeichen wie &= etc oder andere Ressourcen wie foo.jpg oder other.php. Was an die PHP-Dateien weitergereicht werden soll, weiß natürlich nur der OP, oben schränkt er es zumindest ein. :-)