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

问题:

在几个blog程序中折腾的结果~
导致url连续二次变化。这是第三次了。
nginx 通过rewrite 使用 “permanent;”参数 成301永久url重定向。
以往的url结构
http://www.jb51.net/post/199/
现在需要的url结构
http://www.jb51.net/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://www.jb51.net/tools/zhengze.html

简单说明下(认真学习正则表达式-我没认真学^_^):
^ 表示 匹配字符串的开始.
$ 表示 匹配字符串的结束.
$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 ^(.*) http://www.jb51.net$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://www.jb51.net/post/199/ 即可被跳转到 http://www.jb51.net/archives/199.html

时间: 2024-08-19 04:15:31

Nginx下WordPress链接(url伪静态)301永久重定向实现方法_nginx的相关文章

IIS服务器下做301永久重定向设置方法

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 以前也没怎么关注301重定向,第一因为没有网站要重定向,第二对于不带www的域名我都是用的转发到带www的域名.不过一场风波之后,很多服务商已经不提供转发服务了,虽说易名现在还可以享用到免费的转发服务,但是却不能不带www的转发到带www的同时进行MX记录解析,这对于需要MX解析的朋友也是一大烦恼. 而且有些域名在国外,转发更是用不了,也只能

IIS服务器下做301永久重定向设置方法[可以传参][图文]_win服务器

不过一场风波之后,很多服务商已经不提供转发服务了,虽说易名现在还可以享用到免费的转发服务,但是却不能不带www的转发到带www的同时进行MX记录解析,这对于需要MX解析的朋友也是一大烦恼. 而且有些域名在国外,转发更是用不了,也只能进行301永久重定向了,不然搜索引擎是把不带www的站和带www的站分开对待的,只是我们习惯于用带www的域名罢了. 在网络上看了些教程,再根据自己的实践,也终于搞定了IIS服务器上的301永久重定向设置问题.实现方法如下: 1.新建一个站点,对应目录如E:\wwwr

windows IIS6服务器全站301永久重定向设置方法_win服务器

如图所示: 具体操作方法: 进入绑定域名站点的IIS设置,选择站点属性--主目录--重定向到URL写入要跳转到的域名,后台加上$S$Q,如 复制代码 代码如下: http://www.jb51.net$S$Q 然后必须勾选"上面输入的准确URL"和"资源的永久重定向"两项,否则URL会出现问题.设置好后,访问http://tool.chinaz.com/pagestatus/看下返回状态是否是301,是则设置成功. 如此设置,就可以实现windows服务器全站301

Nginx 301永久重定向配置的应用例子

Nginx不支持配置.htaccess文件来实现301永久重定向和伪静态,需要在Nginx站点配置文件(一般在"/usr/local/nginx/conf/vhost" 文件夹内)里面使用rewrite指令来实现.本站固定链接结构改变后使用的Nginx 301永久重定向配置如下: rewrite ^/(2009|2010|2011|2012|2013|2014|2015|2016)/(.*).html$ $scheme://$host/archives/$2.html permanen

php nginx-linux nginx 下通过curl url方式,&amp;amp;amp;参数无效

问题描述 linux nginx 下通过curl url方式,&参数无效 php-nginx下,通过curl url命令行方式发送请求,后台接受请求后,通过request.getParameter()获取不到"&参数"的值,如果在 & 前加个就可以,如何解决. 解决方案 参数需要用来做转义,不然可能变成其他含义了

更换域名用301永久重定向的操作过程

301重定向 &http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   重定向说白了就是通过各种的方法将各种网络请求重新定个方向转到其它位置. 如:网页中的重定向 域名的重定向 路由选择的变化也是对数据报文经由路径的一种重定向 在我们的网站淘星建设中,时常会遇到需要网页重定向的情况:像网站调整,如改变网页目录结构,网页被移到一个新地址,再或者,网页扩展名改变,如因应用需要把.php改成.Html或.shtml,在这种情

ASP.NET MVC 3中301永久重定向不带www域名到带www的域名

使用 ASP.NET 又喜欢跟进新技术的朋友可能已经知道,在 ASP.NET 4.0 中增加了 Response.RedirectPermanent() 方法来实现永久重定向,方法的作用在注释中解释的很清楚:执行从所请求 URL 到所指定 URL 的永久重定向,并提供用于完成响应的选项. 在 ASP.NET MVC 3 项目中,我们可以根据需要来使用以下写法实现永久重定向:  代码如下 复制代码 public ActionResult Index() {     return RedirectP

浅谈换域名之301永久重定向

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 大家好,我是十万个为什么在线的站长.今天要说的是本站第一次更换域名,用301永久重定向的操作和筛选过程.原先本站的域名为www.zhidao1.cn,做了将近1年的时间,pr也升到了4,我做的内容是十万个为什么,目标是做一个网络的在线十万个为什么,于是想了一个很简单的广告语,"十万个为什么,每天知道1,生活更清晰"网站浏览

ASP.NET MVC3 301永久重定向实现程序

使用 ASP.NET 又喜欢跟进新技术的朋友可能已经知道,在 ASP.NET 4.0 中增加了 Response.RedirectPermanent() 方法来实现永久重定向,方法的作用在注释中解释的很清楚:执行从所请求 URL 到所指定 URL 的永久重定向,并提供用于完成响应的选项. 在 ASP.NET MVC 3 项目中,我们可以根据需要来使用以下写法实现永久重定向:  代码如下 复制代码 public ActionResult Index() {     return RedirectP