2011-08-11 213 views
0

我想在我的网站上有一个很好的网址,所以我已经添加了这行到.htaccess中,但它造成了无限循环。mod_rewrite - 如何避免无限循环

RewriteRule ^(.*)$ http://www.mydomain.com/pages/$1%{QUERY_STRING}.php 

应该重写每个URL,并添加“页/”和“.php”结尾,但只有第一次不喜欢某种递归函数。

+0

你从任意文件重写到任何新的文件,这恰好是不得以任何文件。 – Cyclone

+0

我找到了一个解决方案 - 添加RewriteCond%{SCRIPT_FILENAME}!-f – Radovan

+0

它适用于大多数页面,但在主页和其他一些随机页面上,它会得到500个内部错误。是更好的解决方案吗? – Radovan

回答

1

你不需要传递查询字符串,这是自动发生的。
see the documentation

比其他

,试试这个

RewriteCond %{REQUEST_URI} !^/pages/$ 
RewriteRule ^(/.*)? http://www.mydomain.com/pages/$1 [L]