修改-重写异常?是否将#散列保留在匹配的URL中?

时间:2011-05-08 作者:mathiregister

嘿,伙计们,我的WordPress permalink结构设置为“/%postname%/”。

当我创建一个名为“FAQ”的页面时,生成的永久链接是“mydomain.com/FAQs”。

当我以这样的代码(硬编码)链接到此页面时。。。

<a href="<?php bloginfo(\'home\'); ?>/faqs#b" title="FAQ\'s">FAQs</a> (注意末尾的#b哈希)

。。。wordpress会自动注意到有一个页面/faqs 并替换/faqs#b 只是为了/faqs (没有哈希)。

是否有机会为我的。htaccess文件,所以WordPress不这样做?

你知道我该怎么做吗?

2 个回复
最合适的回答,由SO网友:Milo 整理而成

如果你的permalink结构是/%postname%/ 对于尾部斜杠,需要按如下方式传递哈希:/faqs/#b 使用尾部斜杠。

SO网友:Jan Fabry

URL哈希(位于#) 不会发送到服务器,因此Apache或WordPress无法检测到它。

WordPress将所有URL重定向到URL的规范版本,以确保每个人在链接到帖子时使用相同的URL(这有助于提高您在搜索引擎中的排名)。这会导致从/faqs/faqs/. Browsers should append the #hash part to the redirected URL, but it seems IE does not do this.

您可以通过在URL中使用规范URL来防止重定向,就像Milo建议的那样。So链接到/faqs/#b 它应该会起作用。

结束