Nginx下WordPress链接(url伪静态)301永久重定向实现方法
天刹官网,色老三导航,密室之不可靠岸下载
问题:
在几个blog程序中折腾的结果~
导致url连续二次变化。这是第三次了。
nginx 通过rewrite 使用 “permanent;”参数 成301永久url重定向。
以往的url结构
//www.jb51.net/post/199/
现在需要的url结构
//www.jb51.net/archives/199.html
过程:
学习nginx的配置规则,学习正则表达式(我也没接触过,学呗。)
nginx的中文维科:
正则表达式入门:
简单说明下(认真学习正则表达式-我没认真学^_^):
^ 表示 匹配字符串的开始.
$ 表示 匹配字符串的结束.
$1 $2 表示变量
([0-9]+) 表示至少1个、最多不限制的数字串.
头看晕了(不是程序员。)。写出表达式。
—————————————————-
—————————————————-
<a class="st_tag internal_tag" title="标签 rewrite 下的日志" href="http://www.iamle.com/archives/tag/rewrite" rel=tag>rewrite</a> ^/post/([0-9]+)/$ /archives/$1.html permanent;
<a class="st_tag internal_tag" title="标签 rewrite 下的日志" href="http://www.iamle.com/archives/tag/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.jb51.net 。
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 ^(.*) //www.jb51.net$1 permanent;
}
if (-f $request_filename/){
rewrite (.*) $1/ break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}
}
测试结果:
访问://www.jb51.net/post/199/ 即可被跳转到 //www.jb51.net/archives/199.html
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!!
点击进行留言回复
相关文章:
-
-
-
-
-
-
Nginx定义域名访问方式
最近在搭建nginx,做到域名访问的时候总是访问不了。nginx的配置文件nginx.conf中server配置如下: server { listen 80...
[阅读全文]
-
-
-
-
-
网友评论