Nginx下WordPress链接(url伪静态)301永久重定向实现方法


本文整理自网络,侵删。

问题:

在几个blog程序中折腾的结果~
导致url连续二次变化。这是第三次了。
nginx 通过rewrite 使用 “permanent;”参数 成301永久url重定向。
以往的url结构
http://1000zx.cn/post/199/
现在需要的url结构
http://1000zx.cn/archives/199.html
过程:
学习nginx的配置规则,学习正则表达式(我也没接触过,学呗。)
nginx的中文维科:http://wiki.nginx.org/NginxChs
正则表达式入门:http://zh.wikipedia.org/zh-cn/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F
http://1000zx.cn/tools/zhengze.html

简单说明下(认真学习正则表达式-我没认真学^_^):
^ 表示 匹配字符串的开始.
$ 表示 匹配字符串的结束.
$1 $2 表示变量
([0-9]+) 表示至少1个、最多不限制的数字串.
头看晕了(不是程序员。)。写出表达式。
—————————————————-
—————————————————-

代码如下:

<A class="st_tag internal_tag" title="标签 rewrite 下的日志" rel=tag>rewrite</A> ^/post/([0-9]+)/$ /archives/$1.html permanent;
<A class="st_tag internal_tag" title="标签 rewrite 下的日志" rel=tag>rewrite</A> ^/html/y2009/([0-9]+).html$ /archives/$1.html permanent;


把表达式加入nginx conf 文件。
—————————————————–
location / {
放这里。
}
—————————————————-
完成配置:

这是我的完整的WordPress nginx rewrite 规则配置。
1、nginx rewrite网址url变更301重定向。
2、nginx rewrite iamle.cn 重定向到 www.1000zx.cn 。
3、nginx WordPress rewrite伪静态规则(得以支持WordPress的自定义url)。

代码如下:

location / {
rewrite ^/post/([0-9]+)/$ /archives/$1.html permanent;
rewrite ^/html/y2009/([0-9]+).html$ /archives/$1.html permanent;
if ($host !~ "^www\.iamle\.com$"){
rewrite ^(.*) http://www.1000zx.cn$1 permanent;
}
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}
}


测试结果:
访问:http://1000zx.cn/post/199/ 即可被跳转到 http://1000zx.cn/archives/199.html


标签:WordPress

相关阅读 >>

wordpress 2.8的8个特色的新增功能

wordpress固定链接伪静态的设置方法

wordpress thickbox 点击图片显示下一张图的修改方法

主机nginx + docker wordpress mysql搭建的详细步骤

wordpress最好用的博客系统之一

wordpress中设置post type自定义文章类型的实例教程

wordpress 模板制作过程中的错误定位方法

wordpress博客添加mp3播放器

六个步骤,从零开始教你搭建基于wordpress的个人博客

wordpress文章标题为空时其它内容代替的方法

更多相关阅读请进入《wordpress》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...