我遇到了一个严重的问题,并且不知道发生了什么...我将指出导致此Wordpress主动门户出现多个问题的一般问题。
重现的步骤:
现在,请考虑以下情况:
我已尝试过几种与永久链接的组合,所以这不是问题。我甚至在php中编写了我自己的Comment链接生成器
href="#comments"
但仍然没有运气......
如果您需要有关theloop.php中任何功能代码的任何进一步信息或其他任何信息,请告诉我。
提前致谢! 此致
.htaccess的内容如下:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
答案 0 :(得分:2)
这不是PHP问题,它是Javascript:当你重现它时很明显,你可以通过禁用Javascript并在URL的末尾添加#comments
来测试它;它会起作用。
现在,我为你做了一些工作,罪魁祸首是一个名为hashchange.js
的Javascript文件。例如,看看这一行:
function second_passed() {
if(current_page!=location.href {
get_page_by_hash(location.href);
}
setTimeout(second_passed,1000);
}
这解释了为什么你会看到“正在工作”一秒钟。
这是重定向:
jQuery(window).hashchange(function() {
var link = window.location.hash.replace("#", "");
get_page_by_hash(link)
});
请注意,hashchange
是jQuery Mobile中可用的事件处理方法。
答案 1 :(得分:0)
<link rel="canonical" href="URL OF YOUR HOMEPAGE HERE>
在<head></head>
部分的header.php中添加此内容,然后尝试。它不应该给出404错误!
答案 2 :(得分:0)
如您所知,页面书签的使用方式是锚点的href =“”指向#some-place。为了实现这一点,#some-place必须是你想去的页面中元素的id。
例如:
http://gamersgeographic.com/monster-hunter-diary-1/#respond
应该带你到那个页面中id =“respond”的元素。
如果具有该ID的元素不存在,您将无法前往它,并且可能是导致404 Not Found的原因。但是,如果元素确实存在于具有正确ID的页面上并且仍然重定向到404,那么您可能需要检查Web服务器配置以确保它不以某种方式过滤#。