【问题标题】:How do I remove index.php/html from the url如何从 url 中删除 index.php/html
【发布时间】:2014-01-30 22:26:17
【问题描述】:

我遇到了关于 mod_rewrite 的问题。

RewriteCond %{THE_REQUEST} /index\.[php|html] [NC]
RewriteRule (.*)index\.[php|html]$ /$1 [R=301,L]

这个想法是让 domain.com/index.php 和 domain.com/index.html 都重定向到 domain.com。 我的尝试似乎不起作用。上面的代码是我的尝试之一。

如果你能帮助我,那就太好了!

【问题讨论】:

    标签: apache .htaccess mod-rewrite indexing clean-urls


    【解决方案1】:

    您的正则表达式不正确您需要使用( ) 而不是[ ]

    使用这条规则:

    RewriteCond %{THE_REQUEST} /index\.(php|html?) [NC]
    RewriteRule ^(.*?)index\.(php|html?)$ /$1 [R=301,L]
    

    【讨论】:

    • 感谢您的回复。不幸的是,我仍然遇到内部错误。有什么建议么?编辑:它在我的本地 xampp 服务器上工作,但它不在我的主机上。
    • 您能否在您的问题中发布完整的 .htaccess,以便我检查并提出建议。
    • 我刚刚再次测试了它,它运行良好。如果您发布有问题的规则,我可以检查您可能有一些冲突的规则。
    • 即使 .htacces 仅包含以下规则,服务器仍会将页面重定向到 link,但是当我在 xampp 上运行脚本时,它不会给出任何错误。 RewriteEngine On RewriteCond %{THE_REQUEST} /index\.(php|html?) [NC] RewriteRule ^(.*?)index\.(php|html?)$ /$1 [R=301,L]
    • 我也测试了它,它没有给出任何错误。在获得 500 的服务器上,您可以检查 Apache error.log 以了解为什么会出现 500。
    猜你喜欢
    • 2012-05-15
    • 1970-01-01
    • 2013-05-15
    • 2019-08-16
    • 2012-08-10
    • 2015-10-24
    相关资源
    最近更新 更多