【发布时间】:2020-08-20 22:27:04
【问题描述】:
我正在开发一个 wordpress 网站,但我终其一生都无法弄清楚为什么会发生这种情况。
在提交此查询之前,我已尝试解决此问题。我试过的:
- 我没有任何带有 slug 的页面、帖子、cpt、类别、标签、插件等,“支持”;
- 我已经通过 phpMyAdmin 在我的数据库中搜索了“支持”一词,并且在数据库中没有提到“支持”这个词;
- 我查看了我的 .htaccess,没有提到“支持”;我在多台电脑和手机浏览器中输入了地址:mywebsite.com/support/,无论是正常模式还是隐身模式,/support/ 页面仍然显示与我输入/news/ 相同的信息。
- 我已经在设置中添加和删除了/news/页面作为指定博客页面,/support/页面仍然认为它是新闻页面。
- 我已经通过设置页面访问了永久链接并将其保存以刷新永久链接,但仍然没有任何变化......
- 我已禁用所有插件,并尝试了以上所有方法,结果仍然相同...
另外,我删除了/support/页面和/news/页面,如果有帖子,它仍然显示/news/页面。唯一不显示/news/ 页面的情况是,如果我删除所有帖子,它将返回为空的/news/ 页面。如果我创建一个新帖子,/support/ slug 将再次显示新闻页面...?简单来说,好像/support/页面认为是新闻页面。
我不知道这是怎么发生的。我曾经有一个页面 /support/,但它有自己的联系表格 - 我从来没有在我的设置中设置 /support/ 页面来显示新闻/博客页面。
我明白我显然可以将我的 /support/ 页面更改为 /contact/ 并且它不会重定向,但我更喜欢 /support/ 。
任何帮助将不胜感激。
如果我可以提供任何东西,我也安装了查询监视器——网络响应是 200。就好像有一个页面安装为 /support/,但什么都没有......
命令行界面:
[support(/(.*))?/?$] => index.php?&support=$matches[2]
[(.?.+?)/support(/(.*))?/?$] => index.php?pagename=$matches[1]&support=$matches[3]
可能的问题。我想我找到了...我希望它保存帐户/支持,但它保存为支持...关于如何纠正此问题的想法?
/**
* Register Rewrite Enpoint
*
* @address ../account/pets/
* @address ../account/support/
*
* @since 1.0.0
* @access private
*/
public function audp_create_pets_endpoint() {
add_rewrite_endpoint( 'pets', EP_ROOT | EP_PAGES );
add_rewrite_endpoint( 'contacts', EP_ROOT | EP_PAGES );
add_rewrite_endpoint( 'veterinary', EP_ROOT | EP_PAGES );
add_rewrite_endpoint( 'support', EP_ROOT | EP_PAGES );
}
当我执行 domain.com/pets 或 /veterinary 时,我遇到了同样的问题。我需要删除这些端点...或将它们设为帐户/支持等 - 如果您能提供帮助,我将不胜感激。
解决方案:
删除了 EP_ROOT,并刷新了永久链接。
感谢您的帮助和 Magenta 的动力。
【问题讨论】:
-
您能否通过浏览器的网络工具提供准确的 HTTP 3XX 重定向响应。
-
另外,您能否提供您的 .htaccess 文件的内容和 WordPress 重写规则。获取 WordPress 重写规则的最简单方法是使用 WP_CLI 命令 - php wp-cli.phar eval 'print_r(get_option("rewrite_rules"));'
-
@Megenta-Cuda - 已更新,请查看。
-
所以,没有 HTTP 重定向,所以这必须由 WordPress 完成 - 请提供 WordPress 重写规则。
-
更新了支持实例。如何删除这些?