2016-04-15 6 views
2

Der Titel erklärt das meiste davon. Ich benutze WAMP. Ich habe eine .htaccess-Datei mit folgendem Inhalt:Warum führt dieser .htaccess-Code eine ständige Umleitung durch?

RewriteEngine On 
RewriteCond %{REQUEST_URI} !^/$ 
RewriteRule (.*) /?uri=%{REQUEST_URI} 

Und eine index.php mit folgendem Inhalt:

<?php 
print_r($_GET) 
?> 

Auch bekomme ich folgende apache_error.log Fehler:

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. 

Wenn Sie verwirrt sind, was ich tue, versuche ich ein CMS zu machen, wo index.php alle anderen Seiten verarbeitet und es selbst (ich habe gerade erst angefangen).

Antwort

2

Es Endlosschleife tut, weil %{REQUEST_URI} auch nach Rewrite /?uri-...

leer bleibt sollten Sie %{QUERY_SRING} statt Kontrolle werden auf das Vorhandensein von Query-String zu überprüfen.

RewriteEngine On 

RewriteCond %{QUERY_STRING} !(^|&)uri= [NC] 
RewriteRule^?uri=%{REQUEST_URI} [L,QSA] 
+0

Ich habe immer noch den gleichen Fehler nach dem Ausprobieren Ihres Codes. – user2921779

+1

Ah ich hatte einen Tippfehler, es ist jetzt behoben. Bitte versuchen Sie es erneut mit der aktualisierten Regel. – anubhava