【问题标题】:301 redirect isn't working for special characters301 重定向不适用于特殊字符
【发布时间】:2020-02-09 13:57:25
【问题描述】:

我添加了一个 301 重定向,但它似乎不起作用

Redirect 301 example.com/?1 https://www.example.com/
Redirect 301 example.com/!@#$124 https://www.example.com/

我想将所有 example.com/specialcharacters 重定向到 https://www.example.com

【问题讨论】:

    标签: .htaccess redirect http-status-code-301


    【解决方案1】:

    您必须为此使用mod_rewrite 规则。将此规则放在您的站点根目录 .htaccess 中:

    RewriteEngine On
    
    RewriteCond %{QUERY_STRING} . [OR]
    RewriteCond %{REQUEST_URI} ^/\W
    RewriteRule ^ /? [L,R=302]
    

    \W 匹配所有非单词字符,因此如果REQUEST_URI 开头有任何非单词字符,则会触发第二个条件。

    【讨论】:

    • 它没有重定向网站。
    • 抱歉打错了,现在试试。另外验证您的.htaccess 是否已启用,方法是在您的.htaccess 顶部放置一些垃圾(随机)文本,并在您访问时查看它是否生成500(内部服务器)错误您在浏览器中的页面。 500 错误意味着 .htaccess 已启用。
    • 是的,它已启用,但更新后的代码也没有重定向。
    • 啊!当我将脚本移到顶部时它起作用了。谢谢老兄。
    • 我用这些字符测试了重定向不起作用 example.com/#$ 但是对于其他字符重定向是有效的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-28
    • 2015-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-26
    • 1970-01-01
    相关资源
    最近更新 更多