2014-03-04 89 views
2

我的.htaccess很簡單:如何避免Apache mod重寫無盡的重定向?

Options +FollowSymLinks -MultiViews RewriteEngine On RewriteBase/ RewriteRule ^qmind/themen/([^/]*)/$ /qmind/themen/t/?art=$1 [L] RewriteRule ^qpodcast/podcasts/([^/]*)/$ /qpodcast/podcasts/?id=$1 [L] RewriteRule ^qmind/artikel/([^/]*)\/$ /qmind/artikel/?id=$1 [L]

最後兩個規則的作品完美,但第一個引起內部 - 錯誤。 Apache顯示:Request exceeded the limit of 10 internal redirects due to probable configuration error. 但我找不到我的錯誤。

Apache錯誤日誌也說Use 'LogLevel debug' to get a backtrace.但我不知道如何。

Thx求助!

+1

你能提供你想要的第一個重寫規則相匹配,你也希望它重定向到什麼URL的例子不再匹配? – Jon

回答

1
RewriteRule ^qmind/themen/([^/]*)/$ /qmind/themen/t/?art=$1 [L] 

讓舉個例子

qmind/themen/test 

此運行作爲

qmind/themen/test 
qmind/themen/t/art=test 
qmind/themen/t/art=t 

,然後repearts底部的一個作爲URL匹配自己

你需要編寫規則接受/t/視爲有效,而不是重寫它

RewriteRule ^qmind/themen/([^/]*)/$ /qmind/themen/t/index.php?art=$1 

應該工作,因爲它原來的正則表達式

+0

謝謝,這幫了我很多<3 – JulianWels

+0

如果有幫助,請按接受答案打勾 – exussum