問題:
在幾個(gè)blog程序中折騰的結(jié)果~
導(dǎo)致url連續(xù)二次變化。這是第三次了。
nginx 通過rewrite 使用 “permanent;”參數(shù) 成301永久url重定向。
以往的url結(jié)構(gòu)
//m.survivalescaperooms.com/post/199/
現(xiàn)在需要的url結(jié)構(gòu)
//m.survivalescaperooms.com/archives/199.html
過程:
學(xué)習(xí)nginx的配置規(guī)則,學(xué)習(xí)正則表達(dá)式(我也沒接觸過,學(xué)唄。)
nginx的中文維科:http://wiki.nginx.org/NginxChs
正則表達(dá)式入門:http://zh.wikipedia.org/zh-cn/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F
//m.survivalescaperooms.com/tools/zhengze.html
簡單說明下(認(rèn)真學(xué)習(xí)正則表達(dá)式-我沒認(rèn)真學(xué)^_^):
^ 表示 匹配字符串的開始.
$ 表示 匹配字符串的結(jié)束.
$1 $2 表示變量
([0-9]+) 表示至少1個(gè)、最多不限制的數(shù)字串.
頭看暈了(不是程序員。)。寫出表達(dá)式。
—————————————————-
—————————————————-
代碼如下:
<A class="st_tag internal_tag" title="標(biāo)簽 rewrite 下的日志" rel=tag>rewrite</A> ^/post/([0-9]+)/$ /archives/$1.html permanent;
<A class="st_tag internal_tag" title="標(biāo)簽 rewrite 下的日志" rel=tag>rewrite</A> ^/html/y2009/([0-9]+).html$ /archives/$1.html permanent;
把表達(dá)式加入nginx conf 文件。
—————————————————–
location / {
放這里。
}
—————————————————-
完成配置:
這是我的完整的WordPress nginx rewrite 規(guī)則配置。
1、nginx rewrite網(wǎng)址url變更301重定向。
2、nginx rewrite iamle.cn 重定向到 m.survivalescaperooms.com 。
3、nginx WordPress rewrite偽靜態(tài)規(guī)則(得以支持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 ^(.*) //m.survivalescaperooms.com$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;
}
}
測試結(jié)果:
訪問://m.survivalescaperooms.com/post/199/ 即可被跳轉(zhuǎn)到 //m.survivalescaperooms.com/archives/199.html
新聞熱點(diǎn)
疑難解答
圖片精選