【问题标题】:htaccess Rewrite Rule - Internal Server Errorhtaccess 重写规则 - 内部服务器错误
【发布时间】:2014-05-06 19:24:35
【问题描述】:

我在让我认为应该是一个简单的 htaccess 重写工作时遇到问题......

当前网址:http://www.website.com/profile.php?id=61338848

所需网址:http://www.website.com/61338848

当前 htaccess 代码:

RewriteEngine On
RewriteRule ^([^/]*)$ /profile.php?id=$1 [L]

上述htaccess的结果是INTERNAL SERVER ERROR:

我也希望它适用于自定义域(如果已设置),尽管我确信为上述提供的解决方案也可以正常工作。

所需网址:http://www.website.com/customdomain

提前致谢。

【问题讨论】:

    标签: php .htaccess url mod-rewrite


    【解决方案1】:

    我使用了这个.htaccess,它对我有用:

    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^([^/]*)$ profile.php?id=$1 [L,QSA]
    

    使用QSA 标志,您可以像这样添加多个获取参数:http://www.website.com/61338848?parameter=value

    RewriteCond %{REQUEST_FILENAME} !-f 检查request_filename 是否为文件,如果是,则RewriteRule 不会被执行

    【讨论】:

    • 完美,我不知道你是否编辑了它,但这完美无缺。谢谢!
    【解决方案2】:

    尝试删除文件名前的/,如:

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

    它对我有用。

    【讨论】:

    • 直接将我发送到个人资料页面而不是主页,但确实停止了内部服务器错误
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-28
    • 1970-01-01
    • 2021-12-17
    • 1970-01-01
    相关资源
    最近更新 更多