.ht访问文档根mod_rewrite上的错误


.htaccess error on document root mod_rewrite

好的,所以,我在.htaccess遇到了问题。

假设我可以访问一个配置文件来执行此操作:http://website.com/members.php?id=1

所以,我想通过这里来mod_rewrite它:http://website.com/1

所以我把它添加到我的.htaccess文件中:

Options +FollowSymLinks
RewriteEngine On
RewriteRule ^([^/]*)$ /members.php?id=$1 [L]

我访问http://website.com/1.它不起作用。事实上,我得到了一个500错误。

所以,我决定尝试别的东西。我在前面user/添加一个前缀。所以它变成了这样:

RewriteRule ^user/([^/]*)$ /members.php?id=$1 [L]

看到新用户/

我访问http://website.com/user/1.它有效。奇怪。

帮助?任何人?

在重写规则之前添加此行以防止循环:

RewriteCond %{QUERY_STRING} ^$

这可能是因为你的规则遭受了递归。您的规则还会捕获并重写members.php...

规则前面添加以下内容:

RewriteCond %{REQUEST_URI} !^/members.php