php - 防止从默认永久链接结构访问 WordPress

标签 php wordpress permalinks

我正在尝试禁用/阻止旧的永久链接结构中的 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/

相关文章:

php - 将数组值和其他表单值插入到两个不同的mysql表中

php - wordpress .po 文件中的#: (file, 行号) 行是否必要

php - wp_query - 显示所选类别中为该类别撰写帖子的所有作者

php - 从 WordPress 类别 URL 中删除类别基础

php - Laravel - 自动加载 View

php - mysql_query() 期望参数 1 为字符串

Wordpress add_rewrite_rule 给出 404

WordPress 永久链接无法在 aws 上运行

javascript - 基本点击功能转为AJAX调用

php - Stripe s2Member Pro 插件在实时模式下返回 card_declined