2013-05-13 118 views
0

我正在嘗試將example.com/test重寫爲example.com/pages/test.php(依此類推)。URL重寫失敗:內部重定向

我做了這樣的代碼:

RewriteEngine on 
RewriteRule ^(.*) /pages/$1.php 

這不起作用:阿帕奇給我這個錯誤:

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.

我不知道如何去。

回答

1

Apache是​​重寫/test/pages/test.php,然後試圖將它改寫爲/pages/pages/test.php.php,然後/pages/pages/pages/test.php.php.php等等...

添加[L]標誌停止後的第一個改寫。

一般情況下,你也想一對夫婦的重寫條件如下,以防止你實際上並不想重寫改寫(圖片,腳本等):

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*) /pages/$1.php [L] 
+0

它的工作原理相同的錯誤。謝謝! – Hedam 2013-05-13 13:59:39

0

這是循環。嘗試在RewriteRule的末尾添加[L]。

+0

相同的結果。仍然在日誌文件 – Hedam 2013-05-13 13:32:47