雷速体育在线直播下载:

您的位置:雷速体育答题测试答案 > PHP學習 > Nginx常用設置301寫法rewrite實例

Nginx常用設置301寫法rewrite實例

時間:2019-02-21 10:04:39  來源:免費模板網 作者:風雪 閱讀次數 tagsNginxrewrite301

小編最近幫朋友網站切換域名,之前的url地址太長,想簡化一下實現去掉url上面的年月日,服務器是Nginx環境怎么寫偽靜態文件呢

需求如下

我之前的url是//www.111.com/mwxx/2015/0121/123.html 

網站更換域名改版之后文件生成的路徑去掉了年月日,也就是//www.222.com/mwxx/123.html

服務器環境是Nginx 怎么去寫這個偽靜態規則呢 就是訪問//www.111.com/mwxx/2015/0121/123.html 會跳轉到//www.222.com/mwxx/123.html

這里我們就要先了解一下偽靜態語法

^(.*)mwxx/([0-9]+)/([0-9]+)/([0-9]+)\.html$

那么 然后是 $1/mwxx/$4.html  

 $1 代表匹配的第一個括號的內容
$4是第四個括號的內容 

總結就是以下寫法

rewrite ^/resume/grjl/([0-9]+)/([0-9]+)\.html$ //www.222.com/mwxx/$2.html permanent;

根據你的實際來變化

擴展一下相關知識

正則表達式匹配,其中:

 

* ~ 為區分大小寫匹配

 

* ~* 為不區分大小寫匹配

 

* !~和!~*分別為區分大小寫不匹配及不區分大小寫不匹配

 

文件及目錄匹配,其中:

 

* -f和!-f用來判斷是否存在文件

 

* -d和!-d用來判斷是否存在目錄

 

* -e和!-e用來判斷是否存在文件或目錄

 

* -x和!-x用來判斷文件是否可執行

flag標記有:

 

* last 相當于Apache里的[L]標記,表示完成rewrite

 

* break 終止匹配, 不再匹配后面的規則

 

* redirect 返回302臨時重定向 地址欄會顯示跳轉后的地址

 

* permanent 返回301永久重定向 地址欄會顯示跳轉后的地址

我們看實際代碼

1、將www.freemoban.com/connect 跳轉到connect.www.384142.live

rewrite ^/connect$ //connect.www.384142.live permanent;
rewrite ^/connect/(.*)$ //connect.freemoban.com/$1 permanent;

2、將connect.www.384142.live 301跳轉到www.freemoban.com/connect/ 

if ($host = "connect.www.384142.live"){
rewrite ^/(.*)$ //www.384142.live/connect/$1 permanent;
}

3、www.384142.live 跳轉到雷速体育答题测试答案 www.384142.live

if ($host != '雷速体育答题测试答案 www.384142.live' ) { 
rewrite ^/(.*)$ //www.384142.live/$1 permanent; 
}

4、www.freemoban.com/category/123.html 跳轉為 category/?cd=123

rewrite "/category/(.*).html$" /category/?cd=$1 last;

5、www.freemoban.com/admin/ 下跳轉為www.freemoban.com/admin/index.php?s=

if (!-e $request_filename){
rewrite ^/admin/(.*)$ /admin/index.php?s=/$1 last;
}

6、在后面添加/index.php?s=

if (!-e $request_filename){
    rewrite ^/(.*)$ /index.php?s=/$1 last;
}

7、www.freemoban.com/xinwen/123.html  等xinwen下面數字+html的鏈接跳轉為404

rewrite ^/xinwen/([0-9]+)\.html$ /404.html last;

8、//www.384142.live/news/radaier.html 301跳轉 //www.384142.live/strategy/

rewrite ^/news/radaier.html //www.384142.live/strategy/ permanent;

9、重定向 鏈接為404頁面

rewrite //www.384142.live/123/456.php /404.html last;

10、禁止htaccess

location ~//.ht {
      deny all;
}

11、可以禁止/data/下多級目錄下.log.txt等請求;

location ~ ^/data {
     deny all;
}

12、禁止單個文件

location ~ /www/log/123.log {
      deny all;
}

13、//www.384142.live/news/activies/2014-08-26/123.html 跳轉為 //www.384142.live/news/activies/123.html

rewrite ^/news/activies/2014\-([0-9]+)\-([0-9]+)/(.*)$ //www.384142.live/news/activies/$3 permanent;

14、nginx多條件重定向rewrite

如果需要打開帶有play的鏈接就跳轉到play,不過/admin/play這個不能跳轉

 

if ($request_filename ~ (.*)/play){ set $payvar '1';}
if ($request_filename ~ (.*)/admin){ set $payvar '0';}
if ($payvar ~ '1'){
        rewrite ^/ //play.freemoban.com/ break;
}

15、//www.384142.live/?gid=6 跳轉為//www.384142.live/123.html

if ($request_uri ~ "/\?gid\=6"){return  //www.384142.live/123.html;}

常見的需求也就這多,快去試試偽靜態的魅力吧

本文地址://www.384142.live/php/2019/0221/3071.html

猜你喜歡
欄目推薦
模板推薦

Copyright:雷速体育答题测试答案 www.384142.live 免費模板網 All Rights Reserved 雷速体育答题测试答案   遼公網安備 21010602000376號  遼公網安備:42900402000182號

免責聲明:本站部分資源來自互聯網收集,版權歸原創者所有,如果侵犯了你的權益,我們會及時刪除侵權內容,聯系QQ:1615187561 謝謝合作!

{ganrao} 免费麻将下载 九肖中特免费公开选料 老板彩金捕鱼 打湖南麻将视频 多乐彩大赢家使用方法 南京麻将群 广东推倒胡麻将技巧 山东十一运夺金 捕鱼大亨上下分手机版 富贵棋牌官网 网上赚钱的app 沃尔夫斯堡 德甲冠军 江西多乐彩开奖走势图 王者捕鱼官方下载 欢乐岛棋牌 白小姐必选一肖期期准