【问题标题】:Prevent Wordpress Access From Default Permalinks Structure防止从默认永久链接结构访问 Wordpress
【发布时间】:2023-03-26 23:00:01
【问题描述】:

我正在尝试从旧的永久链接结构中禁用/阻止 wordpress 发布。

例如,我有这样的自定义永久链接结构:

http://blablabla*com/hello-world

但是仍然可以使用这样的旧永久链接访问该帖子:

http:/blablabla*com/?p=1
http://blablabla*com/2014/09/01/hello-world
http://blablabla*com/2014/08/hello-world

我已尝试使用此代码删除规范重定向。

remove_filter('template_redirect', 'redirect_canonical');

似乎工作,旧的永久链接没有重定向到我的新永久链接:) 但问题是,:(我想禁用其他永久链接结构并发送 404 错误。 我不关心规范重定向,因为它的新站点尚未被搜索引擎索引。

因此,该帖子只能使用我当前的自定义永久链接访问,而不是其他结构。

我要检查当前 URL,如果 URL 不等于当前永久链接设置,发送 404 错误。

【问题讨论】:

  • 我这是你删除你的帖子,并且想在帖子ID不存在时显示404Error?!试试这个:wp plugin
  • 否,但如果 URL 不等于当前的永久链接设置,我想为现有帖子发送 404error。我之前尝试过使用该插件。但不起作用,因为我想禁用默认的 WordPress 永久链接结构,而不是每个页面的 slug。顺便说一句...感谢您的回答:)

标签: php wordpress permalinks


【解决方案1】:

原作者题内发表

我找到了解决方案:
获取当前request_uri,并获取当前帖子永久链接, 然后 preg_match 他们。因此,如果旧/丑陋的永久链接(或默认的 wordpress 永久链接结构)访问的帖子,发送 404 错误。

【讨论】:

  • 感谢 brasofilo :D 这个简单的解决方案一直有效。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-09
  • 1970-01-01
相关资源
最近更新 更多