.htaccess Schreiben Sie "/book.php?id=1234" in "/ book / 1234".

Das habe ich bisher in meiner Entwicklungsumgebung:

php_value error_log log/php.log
php_value display_errors 1
php_value magic_quotes_gpc Off

RewriteEngine On

# remove slash
RewriteCond %{REQUEST_FILENAME} !-d

# file.php to /file
RewriteCond %{THE_REQUEST} ^(.+)\.php([#?][^\ ]*)?\ HTTP/
RewriteCond %{REQUEST_URI} !^/ajax.php
RewriteRule ^(.+)\.php$ http://localhost/$1 [R=301,L]

# /file to file.php
RewriteRule ^([^/.]+)$ $1.php [L]

Ich habe viele Varianten dieser Regel ausprobiert, erhalte jedoch immer die Fehlermeldung 500:

RewriteRule ^(.*)$ /book.php?url=$1 [L]

Und das ist in der error.log meines Apache:

[Fri Jul 27 19:56:51 2012] [error] [client 127.0.0.1] Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.

Was fehlt mir, warum die Umleitungsschleife?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage