带锚标记的WordPress URL解析为404

时间:2013-01-18 21:01:28

标签: php html wordpress anchor

我在WordPress上有一个奇怪的问题,我在这个页面上有一个锚标记,如下所示:

<h2><a id="comments">Why No Comments?</a></h2>

当我在我的页脚中链接到它时:

<a href="<?php echo home_url()?>/about/#comments">Why no comments?</a>

它莫名其妙地解析为http://www.everydaytype.com/omments

这可能会发生什么?

注意:当我手动导航到锚标记的URL时,会发生同样的事情。

(参考:everydaytype.com

更新:我已禁用所有插件(我有一个操纵我标题中的链接的插件),而且这种情况仍然存在。

1 个答案:

答案 0 :(得分:2)

对于网站来说,这是一件非常奇怪的事情。

如果您将网址http://www.everydaytype.com/about/#comments加载到浏览器的“查看源”窗口中,您会发现它包含以下代码:

<script>if(window.location.hash) {
    var hash = window.location.hash;
    var hashtourl = hash.substring(2)
    window.location.href = "/"+hashtourl;
}</script>

此代码完全符合您的描述。

我不知道为什么会这样做,但这就是它正在做的事情。

我的猜测是它期待#!而不仅仅是#,因此前两个字符的丢弃而不仅仅是第一个,但这只是猜测。如果这是它所期望的,它确实应该检查它而不是做出假设。

我想它必须是某些插件的一部分,你不知道或认为你已经没有完全或某事。无论哪种方式,拥有上面的代码都可以帮助您找到它。

这就是我能做的所有帮助,但我希望它能让你朝着正确的方向前进。