由于嵌入链接,旧帖子上有数千个404个错误

时间:2013-09-15 作者:Anurag Upadhyaya

在过去的45天里,服务器上404个错误的数量急剧增加(从2000个增加到9000个)。这是在我没有改变permalink结构或之后。htaccess。404页指向网站上的旧页-2010/11

其中几个(大多数)是-

1) 嵌入wordpress帖子的外部链接会导致404

ex-

2010/premiership-forecast-title-race-hots-up-gunners-prepare-for-adebayor/www.whufc.com/
以上链接是从页面生成的

www.example.com/2010/premiership-forecast-title-race-hots-up-gunners-prepare-for-adebayor

2) 网站上很少有页面在urlex中使用特殊字符发布-

...example.com/2012/arsenal-rewind-tactical-evolution-–-from-w-m-to-4-2-3-1-part-iv/
谷歌网站管理员在下面显示404-

/2012/arsenal-rewind-tactical-evolution-%25E2%2580%2593-from-w-m-to-4-2-3-1-part-iv/
但chrome和firefox将此链接解析为-

/2012/arsenal-rewind-tactical-evolution-%E2%80%93-from-w-m-to-4-2-3-1-part-iv/
我认为有什么东西在用与以前不同的代码解析带有特殊字符的url,这就是为什么旧的链接会导致404。

3) 谷歌网站管理员显示404-

http://www.example.com/index.php/thmmm-exclusive-interview-%E2%80%93-carlton-chapman/
它分解为

。。。abc/index.php/abc独家专访——卡尔顿·查普曼返回404

理想情况下,它应该返回

。。。abc/2011/abc独家。。。

这里的问题是,如果url没有特殊字符索引。php正确地替换为年份名称,但如果url具有特殊字符索引。php不会解析为年份名称。

请帮忙,我不知道如何解决这个问题。

1 个回复
SO网友:s_ha_dum

我大约99%确信这其中的大部分原因是有人在帖子正文中使用了相对链接。

如下所示的链接:

<a href="www.whufc.com/">Some link Test</a>
最终会变成这样:

2010/premiership-forecast-title-race-hots-up-gunners-prepare-for-adebayor/www.whufc.com/
如果它显示在此网站页面上:

2010/premiership-forecast-title-race-hots-up-gunners-prepare-for-adebayor/
你需要有http:// 部分

我们的一些编辑正是这样把我逼疯了。

至于url编码,您有% 已编码。%25%. 看看你的绳子--%25E2%2580%2593-- 并尝试解码:http://urldecode.org/ 看看发生了什么?正确编码的字符串应为:--%E2%80%93-- 至少我认为这就是你想要的,你会注意到,这正是FireFox和Chrome通过正确解码仅有的百分比编码字符(the%). 我不知道编码是如何得到它的。

结束

相关推荐