htaccess 301 重定向实现WordPress固定链接形式随意修改[无敌教程]

WordPress固定链接有以下几种形式:

1.默认 /?p=123
2.日期和文章名 /%year%/%monthnum%/%day%/%postname%/
3.月份和文章名 /%year%/%monthnum%/%postname%/
4.数字一 /archives/%post_id%
5.数字二 /archives/%post_id%/(有“/”结尾)
6.自定义结构一 /%category%/%post_id%
7.自定义结构二 /%category%/%postname%

使用htaccess 301 重定向实现Wordpress固定链接形式随意修改[无敌教程]

下面分别介绍一下使用htaccess 301 重定向实现几种链接形式相互切换:

日期和文章名改为月份(或年)和文章名

/%year%/%monthnum%/%day%/%postname%对应的例子 /2011/11/01/htaccess301
/%year%/%monthnum%/%postname% 对应的例子 /2011/11/htaccess301
/%year%/%postname% 对应的例子 /2011/htaccess301

# 修改 year/month/day 固定链接为 只有year
RedirectMatch 301 ^/([0-9]+)/([0-9]+)/([0-9]+)/(.*)$ /$1/$4

# 修改 year/month/day 固定链接为year/month
RedirectMatch 301 ^/([0-9]+)/([0-9]+)/([0-9]+)/(.*)$ /$1/$2/$4

注意:链接结尾有“/”的,相应的要在“$”前面加“/”(是$,不是$1或者$2等),亦即:RedirectMatch 301 ^/([0-9]+)/([0-9]+)/([0-9]+)/(.*)/$ /$1/$4,以下的修改都是一样的。

%post_id%或%postname%前添加%category%

/%post_id%修改为/%category%/%post_id%,或者/%category%/%post_id%.html

RedirectMatch 301 ^/(/d+)$ /(.+)/$1

RedirectMatch 301 ^/(/d+)$ /(.+)/$1.html

有“/”结尾的要注意下是^/(/d+)/$,记得在“$”前加“/”,其实上面已经讲了,这里再强调。

带/archives/修改为其他

1. /archives/%post_id%修改为/%category%/%post_id%或者/%category%/%postname%

RedirectMatch 301 ^/archives/(/d+)$ /(.+)/$1

或者

RedirectMatch 301 ^/archives/(/d+)$ /(.+)/(.+)

2. /archives/%postname%修改为/%category%/%post_id%或者/%category%/%postname%

RedirectMatch 301 ^/archives/(.+)$ /(.+)/(/d+)

或者

RedirectMatch 301 ^/archives/(.+)$ /(.+)/$1

小结

正则表达式:

(.+) 对应的是任意字符(包括汉字、英文字母等)
(/d+)对应的是任意数字(仅仅是阿拉伯数字)
$1 $2 $3 是前面出现过的变量的再次引用。

推荐继续阅读:
用.htaccess 301重定向拯救固定链接设置错误
.htaccess实现Apache服务器图片和文件防盗链
我用来优化YSlow和Page Speed性能测试的.htaccess设置

还有不懂的,留言吧。我们一起研究。

人吐槽 人点赞

猜你喜欢

发表评论

用户名: 密码:
验证码: 匿名发表

你可以使用这些语言

查看评论:htaccess 301 重定向实现WordPress固定链接形式随意修改[无敌教程]