重写规则在哪里失败?

时间:2014-09-01 16:34:07

标签: apache .htaccess mod-rewrite

我有url siter.ru/en.html

想看看site.ru/en/

我用htaccess写道:

RewriteEngine On
RewriteRule ^(.*)$ /$1.html

但它给了我500个错误,为什么?

1 个答案:

答案 0 :(得分:0)

这是你创造的无限循环!

问题是你的重写URL 再次与RewriteRule相匹配,因此在无限循环中一次又一次地重写。所以你会得到类似的结果:site.ru/en.html.html.html.html

尝试添加一个条件,阻止第二次(以及任何进一步的)尝试重写URL:

RewriteEngine On
RewriteCond  %{REQUEST_URI}  !\.html$
RewriteRule  ^(.*)$  /$1.html