如何修复301固定链接重定向到时髦的结构

时间:2015-03-21 01:40:16

标签: permalinks redirect

我正在试图弄清楚如何重定向我的一些旧的WordPress新闻门户网站的固定链接结构,这些门户网站正在使用Google新闻和旧搜索引擎所需的时髦结构,但现在是废话。

例如,我目前有:

mynewssite.xcom/2015/03/19/fnw14770_161419.php

我宁愿拥有:

mynewssite.xcom/pretty-nameo-of-the-article-fnw14770/

我甚至可以改为:

mynewssite.xcom/pretty-name-of-the-article-fnw14770_161419.php

我目前的WordPress永久链接结构是:

/%year%/%monthnum%/%day%/fnw%post_id%_%hour%%minute%%second%.php

我需要对/%postname%//%postname%-%post_id%/之类的内容进行301重定向,或者在最糟糕的情况下使用这样的内容:

%postname%-fnw%post_id%_%hour%%minute%%second%.php

我不知道如何编写重写表达式。这就是我现在所拥有的,但它不起作用:

RedirectMatch 301 ^/([0-9]{4})/([0-9]{2})/([0-9]{2})/fnw(\d+)_%hour%%minute%%second%.php$ http://floridanewswire.com/?p=$4

1 个答案:

答案 0 :(得分:0)

%hour%%minute%%second%无法在.htaccess中工作,因为这是仅为WordPress所知的元信息。相反,请尝试使用匹配六位数的规则替换它,例如\d{6}

此外,您应删除不必要的捕获组,向前转出框格和点,并使用\d代替[0-9]

以下是表达式的固定和简化版本:

RedirectMatch 301 ^\/\d{4}\/\d{2}\/\d{2}\/fnw(\d+)_\d{6}\.php http://floridanewswire.com/?p=$1

您应该可以在设置>上将固定链接更改为更清晰的结构。永久链接管理员菜单,并通过此htaccess规则重定向旧的永久链接。