我正在尝试禁用/阻止旧的永久链接结构中的 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 错误。
最佳答案
最初由作者在问题内发布
我找到了解决方案:
获取当前的 request_uri
,并获取当前帖子的永久链接,
然后 preg_match 他们。因此,如果帖子被旧的/丑陋的永久链接(或默认的 WordPress 永久链接结构)访问,则会发送 404 错误。
关于php - 防止从默认永久链接结构访问 WordPress,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25602048/