linux_nginx_rewrite

什麼是Nginx的rewrite?php

       實現URL地址重寫,比較複雜的write須要開發來完成,僞靜態處理實現是開發的工做,mysql

       這rewrite寫在location中nginx

       指令語法:    rewrite regex relplacement[flag]正則表達式

              rewrite ^/(.*) http://www.yunhello.cn/$1 permanetsql

              rewrite   # 固定關鍵字,開啓正則匹配規則, $1 表示前面()內匹配的內容apache

     regex 部分是 ^/(.*) 這個是正則表達式,匹配全部,匹配成功後跳轉到http://www.yunhello.cn/$1, $1 是前面正則括號內匹配到的內容瀏覽器

     permanet      永久重定向標記,即永久跳轉到後面的 http://www.yunhello.cn/$1 地址上,也就是跳轉到這個url中,又從新經過Nginx進行匹配bash

server {
    listen       80;
    server_name  bbs.yunhello.cn;
    location / {
        rewrite ^/(.*)http://www.yunhello.cn/$1 permanet;
    }
}
# 這個rewrite是跳轉到新的站點上

除了 permanet 標記後,還有哪些?app

       redirect         302 臨時重定向網站

       permanet      301 永久重定向

       last                本次規則匹配完,繼續向下匹配location

       break            本次規則匹配完,不在向下匹配

Nginx Rewrite的企業應用場景

       必須使用到

  1. 能夠調整用戶瀏覽器的URL,看起來更規範,合乎開發和產品人員的需求
  2. 讓搜索引擎收錄和更好的用戶體驗,僞靜態或純靜態
  3. 網站換了域名後,讓舊的域名的訪問跳轉到新的域名上,讓京東的360buy換成jd.com

Nginx訪問認證

       企業內部人員使用,企業後臺,mysql客戶端phpmyadmin,企業內部CRM,WIKI等網站平臺

       放到 location中或者放到server中

              auth_basic           提示

              auth_basic_user_file  默認值 - , 接密碼認證文件,和rsync客戶端密碼文件格式同樣

       站點後臺:

server {
    listen       80;
    server_name  manage.etiantian.org;
    location / {
        auth_basic      "hahaha"
        auth_basic_user_file conf/htpassd
    }  
}

# 密碼文件: conf/htpassd

name1:passwd1:comment       # 用戶名:密碼:說明,這裏密碼是加密的,不能人工修改,經過apache的htpasswd命令建立

htpasswd -cb /application/nginx/conf/htpasswd user password         # 建立用戶和密碼,指定存放文件,-c 指定文件, -b非交互式

這個rewrite功能是什麼呢,具體體現方向是什麼?

       重寫url 和完成域名跳轉

       具體方向是瀏覽器中網站地址框更好看了,也就是說只是更改了url顯示,還有跳轉的時候,先顯示原url再顯示跳轉到URL

403錯誤出現的緣由:

       沒有首頁,或沒有讀這個文件的權限

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息