0

我遇到了一个严重的问题,不知道发生了什么……我将在这个由 Wordpress 提供支持的门户上指定导致多个问题的一般问题。

重现步骤:

  1. 访问网址: http: //gamersgeographic.com/en/ (或本网站上的任何帖子)
  2. 将 #abc 或 #anything 附加到 URL
  3. 该 URL 尝试解析一秒钟,然后神奇地删除了“#”,改为更改为 /abc 或 /anything ,这当然不存在,并且找不到 404 页面。
  4. 即使带有#abc 的本地锚点存在,行为也是一样的。

现在,考虑以下情况:

  1. 访问http://gamersgeographic.com/monster-hunter-diary-1/
  2. 评论链接会附加一个#comments 或#respond,具体取决于评论是否存在。
  3. 两个锚点都存在于单个帖子页面上
  4. 找到它们后它仍然重定向到 /comments 并给出 404
  5. 带有#comments 的直接 URL 有效,例如http://gamersgeographic.com/monster-hunter-diary-1/#comments有效,但是当我将任何基本 URL 更改为 #comments 时,它会重定向到 404...

我已经尝试了几种与永久链接的组合,所以这不是问题。我什至用 php 编写了自己的评论链接生成器,只是简单 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
4

3 回答 3

2
于 2013-09-13T05:08:01.283 回答
0
<link rel="canonical" href="URL OF YOUR HOMEPAGE HERE>  

将此添加到您的 header.php<head></head>部分中,然后尝试 . 它不应该给出 404 错误!

于 2013-09-13T04:35:25.197 回答
0

如您所知,使用页面书签的方式是,锚点的 href="" 指向 #some-place。为了实现这一点,#some-place 必须是您希望访问的页面中元素的 id。

例如:

http://gamersgeographic.com/monster-hunter-diary-1/#respond

应该将您带到该页面中具有 id="respond" 的元素。

如果具有该 ID 的元素不存在,您将无法前往该元素,这可能是导致 404 Not Found 的原因。但是,如果该元素确实存在于具有正确 ID 的页面上并且它仍然重定向到 404,那么您可能需要检查您的 Web 服务器配置以确保它没有以某种方式过滤 #。

于 2013-09-13T04:45:15.463 回答