Nginx目錄自動加斜線詳解

2021-09-30 05:40:36 字數 827 閱讀 2457

今天配置nginx時,我設定了乙個網域名稱:

,下面有web目錄為www;現在的問題就是如果我訪問

/www/

就可以顯示出位址,但如果我訪問

/www

結果卻提示說找不到所需要的頁面。哈哈,又開始犯老錯了,nginx不會自動在請求的最後加上乙個/的,原因是nginx不會自動判斷請求的是乙個檔案還是乙個目錄,解決方法為:

在配置檔案中location裡加入如下**

if (-d $request_filename)

這樣再對

/www

請求,nginx就會進行判斷了,如果請求的是乙個資料夾,會自動在最後加上/符號,如果請求的是乙個檔案,則不會改變原有url

接下來對這段**進行乙個解釋

1、if (-d $request_filename),如果請求的是乙個資料夾,則為真,進到if語句中執行

2、rewrite是執行url重寫操作

3、^/(.*)([^/])$表示以/符號開始並緊跟著任何字元,同時不是以/為結束的字串,在我的url中,(.*)表示的ww,([^/])表示的w

表示的重寫後的位址,$host是請求的網域名稱,$1是前面第乙個括號裡的內容ww,在我的url裡就是wordpres $2是前面第二個括號裡的內容,在我的url裡是w

5、permanent表示,返回永久重定向的http狀態301

※這裡值得一說的是,撫琴煮酒瀏覽ie的習慣一般是

,相信大家習慣跟我一樣,不會在www後面加上/的;在為客戶設計**時,首頁不考慮這些問題,但牽涉到二級目錄時,我一般會加上以上正則,這樣會使整個**設計更人性化點。

nginx 目錄自動加斜線」 」

預設配置當你訪問 時不會加 常見做法 if d request filename 更佳的替代方法 optimize server names off 優化伺服器名稱 關 server name in redirect off 伺服器名稱重定向 關 timize server names 最佳方法在n...

nginx目錄詳解

檢視目錄資訊 目錄說明 路徑 型別作用 etc logrotate.d nginx 配置檔案 nginx日誌輪轉,用於logrotate服務的日誌切割,如將日誌切割為按天分 etc nginx etc nginx nginx.conf etc nginx conf.d etc nginx conf....

Nginx 目錄結構詳解

安裝 nginx 時,安裝資訊如圖,我的 nginx 版本為1.16.0。nginx binary file是 nginx 的可執行檔案 nginx configuration prefix是 nginx 配置檔案的目錄 nginx configuration file是 nginx 的配置檔案 n...