【问题标题】:redirect in .htaccess does not work [duplicate].htaccess 中的重定向不起作用[重复]
【发布时间】:2014-09-18 14:43:36
【问题描述】:

一个网站刚刚链接到我的网站,但 URL 不正确:

http://www.datanumen.com/aor/%e2%80%9d

我发现了这个问题,并希望通过将 URL 重定向到:

http://www.datanumen.com/outlook-repair/

因此,我在 .htaccess 中添加以下行:

Redirect 301 /aor/%e2%80%9d http://www.datanumen.com/outlook-repair/

但是,当我输入时,这不起作用:

http://www.datanumen.com/aor/%e2%80%9d

在FireFox或IE中,浏览器仍然提示找不到页面(404)错误。

如何解决问题?

【问题讨论】:

    标签: apache .htaccess redirect


    【解决方案1】:

    %E2%80%9D 是引号的编码:您的重定向工作正常,但是 %E2%80%9D 在您看到它时已经被编码为 "....所以您的代码正在重定向到http://www.datanumen.com/outlook-repair/%E2%80%9D

    %E2%80%9D是右引号的编码,所以URL显示为http://www.datanumen.com/outlook-repair/"

    如果您在原始代码中将 %E2%80%9D 换成 ",它应该可以正常工作:)

    【讨论】:

      【解决方案2】:

      尝试使用\x 转义和重写规则:

      RewriteEngine On
      RewriteRule  ^aor/\xe2\x80\x9d http://www.datanumen.com/outlook-repair/ [L,R=301]
      

      由于%E2%80%9D 是 URL 编码的,当 URL 文件映射处理器到达它时,它已经被解码,因此您需要与解码的字符进行匹配。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-03-07
        • 2015-08-01
        • 1970-01-01
        • 1970-01-01
        • 2020-12-29
        • 1970-01-01
        相关资源
        最近更新 更多