0

在一个主要的网站更新之后,我正在做各种 301 指令,但是一些 404 页面似乎一次又一次地出现。

该模式非常简单,因为 unicode 字符似乎存在问题。

但是,似乎我在这些麻烦的链接上进行了许多 301 重定向,Unicode 字符现在只是重定向链接的一部分。

因此,如果我有一个看起来像这样的 SEF url,它会给我一个 404:

http://mysite.com/mobileconnection-%7C-yourchoice.html

理论上正确的网址是:

http://mysite.com/mobileconnection-|-yourchoice.html

似乎我无法将其重写为正确的角色。

谁能指出我某种方向?:)

更新

问题始于谷歌网站管理员工具。显然谷歌以 Unicode 格式显示 404 URL,所以 | (管道)显示为 %7C。我使用网站管理员工具进行了重定向,最终得到了包含 %7C instad 的 SEF url。

答案很好,我现在认为它很有用:)

4

1 回答 1

0

这有点问题。因为不是所有的浏览器都会通过 | 字符本身,许多旧的将对其进行 URL 编码。因此,在 URL 中使用非 ASCII 符号根本不是一个好的解决方案。

此外,由于网络服务器将传递编码字符,因此很难处理此 URL,因此在重写规则中,您始终需要使用 %7C 而不是 |。

请在 URL 中使用 ASCII ;)

除了使用重定向之外,您还可以在 .htaccess 中使用 URL 重写替换%7C|,但我不确定网络服务器是否能够处理此替换。

于 2012-11-26T09:16:21.110 回答