2012-01-02 47 views
0

好的,所以,我遇到了.htaccess的问题。。文档根目录下的.htaccess错误mod_rewrite

比方说,我可以访问个人资料这样做: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。有用。奇怪的。

帮助?任何人?

回答

1

加入这一行你重写规则之前,以防止循环:

RewriteCond %{QUERY_STRING} ^$ 
+0

所以。喜欢这个? http://codepad.org/5bhecEgH原因,这是行不通的......我仍然得到重定向循环 – nn2 2012-01-02 21:49:51

+0

首先在你的代码中的'RewriteCond'是多余的,我在这里重写它:http://codepad.org/MgagrnQb – anubhava 2012-01-03 03:46:25

1

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

+0

但是...我不不知道该怎么办......我见过其他网站有这样的规则......他们如何做到这一点? – nn2 2012-01-02 05:58:43

1

添加这在规则面前:

RewriteCond %{REQUEST_URI} !^/members.php 
+0

我离开members.php时得到这个错误'这个网页有一个重定向循环' – nn2 2012-01-02 16:20:05