我正在试图弄清楚如何重定向我的一些旧的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
答案 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规则重定向旧的永久链接。