在不破坏旧 URL 的情况下更改 wordpress 中的 URL 方案

Posted

技术标签:

【中文标题】在不破坏旧 URL 的情况下更改 wordpress 中的 URL 方案【英文标题】:Changing URL schemes in wordpress without breaking old URLs 【发布时间】:2010-10-15 19:38:19 【问题描述】:

我创建了一个博客,在几篇文章之后,我决定不喜欢 /2009/03/26/foo-bar 的 URL 方案(我改为仅 /foo-bar)。但是对于我更改此内容之前发布的几篇帖子,我想添加重写规则,以免旧 URL 损坏。

我已经尝试了 .htaccess 文件中我能想到的以下所有变体,但无济于事:(请注意,除了“first-post”和“second-post”行之外的所有内容都是 wordpress 样板)

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteRule /2009/03/25/first-post /first-post
RewriteRule /2009/03/26/second-post /second-post

RewriteCond %REQUEST_FILENAME !-f
RewriteCond %REQUEST_FILENAME !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

有什么想法吗?

【问题讨论】:

【参考方案1】:

试试

RewriteRule ^\d*/\d*/\d*/(.*) /$1

【讨论】:

不起作用!如果它确实有效,我喜欢解决方案的普遍性。 :)【参考方案2】:

我刚刚尝试过的一个可行的解决方案是实际创建目录和子目录 2009/03/25/ 等,然后添加一个包含以下内容的 index.php 文件:

<?php
header('Location: http://example.com/first-post');
?>

【讨论】:

事实证明这个解决方案真的不可行,因为它搞砸了 feedburner 对读者统计数据的跟踪。【参考方案3】:

试试 Dean Lee 的Permalink migration plugin。

【讨论】:

以上是关于在不破坏旧 URL 的情况下更改 wordpress 中的 URL 方案的主要内容,如果未能解决你的问题,请参考以下文章

在不破坏保留元素的情况下更改向量的大小

如何在不破坏向后兼容性的情况下更改 DataContract 属性的类型?

如何在不破坏图像、CSS 和 JavaScript 的情况下实现友好的 URL? [关闭]

在不破坏现有迁移的情况下重命名 Django 模型

如何在不更改 php 中旧日期值的情况下更新日期?

如何在不重新加载页面的情况下更改 URL?