更改永久链接-需要访问代码


Change permalinks - htaccess code needed

我有一个博客(wordpress 3.01版),它有以下格式的基于自定义的永久链接:/%category%/%postname%/。例如,blog.com/category/post-name/

我需要将永久链接更改为"日期和名称"/%year%/%monthnum%/%day%/%postname%/(我的主题要求它正常工作)。

我需要在.htaccess文件中写些什么才能使旧的永久链接301重定向到新的永久链接?

我的网站已有9个月的历史,大约有500篇文章。


示例

/%类别%%postname%/到/%postname%/

RedirectMatch 301 ^/([^/]+)/([^2/]+http://www.mydomain.com/每年2美元

我的情况是得到这个

/%类别%/%postname%/至/%year%/%monthnum%/%day%/%postname%/

RedirectMatch 301???????????

您不能对.htaccess文件执行此操作,因为可以执行此操作的重写功能(RewriteMap)在.htaccess上下文中不起作用。然而,由于您有一个封闭的列表,因此也有一个固定的类别列表,因此很容易将它们映射到一个通用的重定向程序脚本:

RewriteEngine On
RewriteBase   /
RewriteRule ^(cat1|cat2|cat3|cat4)/.*?/$ redirector.php?cat=$1&post=$2 [L,QSA]

(将cat列表扩展为一个完整的类别列表)。那么redirector.php是标准重定向器模式。您只需查询Wordpress D/B即可确定发布的帖子的YMD

$server  = $_SERVER['HTTP_HOST'];
header( "Location: HTTP://$server/$year/$month/$day/$postName/", true, 302 );

在退出之前。