it-swarm.com.de

mod_rewrite verursacht zu viele Weiterleitungen

Das .htaccess, das wir in unserem document_root -Verzeichnis haben, lautet wie folgt:

RewriteEngine on

RewriteRule ^posts/1/first-post-title$ /posts/1.html [L]
RewriteCond %{REQUEST_URI} ^/posts/1
RewriteCond %{REQUEST_URI} !/^posts/1/first-post-title$
RewriteRule (.*) posts/1/first-post-title [R=301,L]

Mit nur der ersten Zeile RewriteRule leitet der Server ordnungsgemäß um. Wenn die anderen drei Zeilen enthalten sind und wir zu "http: // localhost/posts/1/first-post-title" navigieren, gibt Safari den folgenden Fehler aus:

Beim Versuch, "http: // localhost/posts/1/first-post-title" zu öffnen, sind zu viele Weiterleitungen aufgetreten. Dies kann auftreten, wenn Sie eine Seite öffnen, die umgeleitet wird, um eine andere Seite zu öffnen, die dann umgeleitet wird, um die ursprüngliche Seite zu öffnen.

1
purinkle

Ihre zweite Zeile (erste RewriteCond-Regel) führt zu einer ständigen Übereinstimmung. Die URL, zu der Sie Personen umleiten, stimmt überein und wird erneut umgeleitet. Wenn Sie diese Regel ganz fallen lassen, sollten Sie einsatzbereit sein.

1
Caleb