mod_rewrite用户标识错误

时间:2011-11-01 15:38:01

标签: php mod-rewrite

我是新手重写网址并想知道我将如何重写网页

从此  / profile / 4

对此 /profile.php?id=4

到目前为止我有这个规则

RewriteRule ^profile/([0-9]+)/?$ profile.php?id=$1

但它会在浏览器中显示

Firefox检测到服务器正在以永远无法完成的方式重定向此地址的请求。

它在浏览器地址栏中显示/profile/4/index.php,这是不正确的。

.htaccess文件

<Files .htaccess>
order allow,deny
deny from all
</Files>

Options +FollowSymlinks
RewriteEngine on
#ErrorDocument 404 /test.php
DirectoryIndex test.php
RewriteRule settings editProfile.php
RewriteRule update update.php
RewriteRule home test.php
RewriteRule ^profile/([0-9]+)/?$ profile.php?id=$1

2 个答案:

答案 0 :(得分:4)

你几乎就在那里。请尝试使用此

RewriteRule ^profile/(.*)$ profile.php?id=$1

我发现这个好的免费资源在线帮助您test your rewrite rules,然后再将它们发布到您的实际网站。这可能有助于未来。看起来你的规则应该像你发布的那样有效。问题必定在其他地方。

答案 1 :(得分:1)

你的规则很好,所以有一个重定向的地方与之相冲突。我想你在/profile/4没有真正的目录,所以他们的主要候选人是mod_negotiation。试试这个:

Options -MultiViews