【问题标题】:.htaccess error on document root mod_rewrite文档根目录 mod_rewrite 上的 .htaccess 错误
【发布时间】:2012-01-02 05:35:41
【问题描述】:

好的,我遇到了.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。有用。很奇怪。

帮助?有人吗?

【问题讨论】:

    标签: php .htaccess configuration


    【解决方案1】:

    在您的 RewriteRule 之前添加此行以防止循环:

    RewriteCond %{QUERY_STRING} ^$
    

    【讨论】:

    • 所以。像这样? codepad.org/5bhecEgH 因为那不起作用...我仍然收到重定向循环
    • 代码中的第一个RewriteCond 是多余的,我在这里重新编写了它:codepad.org/MgagrnQb
    【解决方案2】:

    这可能是因为您的规则受到递归的影响。您的规则还捕获并重写 members.php...

    【讨论】:

    • 但是..我不知道该怎么办...我看到其他网站有这样的规则...他们是怎么做到的?
    【解决方案3】:

    在你的规则前面添加这个:

    RewriteCond %{REQUEST_URI} !^/members.php
    

    【讨论】:

    • 当我离开 members.php This webpage has a redirect loop 时出现此错误
    猜你喜欢
    • 2013-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-25
    • 1970-01-01
    • 2014-02-23
    相关资源
    最近更新 更多