如何避免Apache mod重写无限重定向?

时间:2014-03-04 14:23:50

标签: apache .htaccess mod-rewrite

我的.htaccess很简单:

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 Error-Log也说Use 'LogLevel debug' to get a backtrace.,但我不知道如何。

寻求帮助!

1 个答案:

答案 0 :(得分: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

然后在URL匹配时重复底部

您需要编写规则以接受/t/有效而不重写

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

应该工作,因为它不再匹配原始正则表达式