我有一个wordpress网站,里面有很多静态页面和很多博客文章。到目前为止,我使用永久链接结构“post name”,但现在我将其更改为“自定义结构”:
OLD: site-name.com/post-name
新: site-name.com/blog/post-name
为旧永久链接生成404,所以我想为我的帖子创建一个301重定向到一个新结构。
我找到了这个插件:https://de.wordpress.org/plugins/postname-permalink-auto-redirect/这似乎正是我正在搜索的内容(通过其描述来判断),但我更喜欢不使用插件的解决方案。
我对htaccess了解一点。例如,我知道如何将以site-name.com/开头的所有内容重定向到site-name.com/blog,但这也会影响我的所有静态页面。
我想到的另一个解决方案是在我的index.php中生成一个函数,我首先收集所有现有的帖子,然后检查其中一个是否包含在请求的URL中,如果是,则插入“blog /”并然后通过wp_redirect()函数调用新的url。但我认为这个功能甚至不会执行,因为404会先被推出,对吗?