Nginx

NGiNX 和 MediaWiki 重寫正則表達式

  • November 23, 2013

我在 NGiNX 中重寫正則表達式時遇到了一些問題。

這是我的配置:

location /wiki/ {
           rewrite ^/([^?]*)/([^?]*)(?:\?(.*))? /$1/index.php?title=$2&$3 last;
   }

這是首頁的 URL://example.com/wiki/en/Main_Page

我有兩個問題。

首先,當我訪問此 URL 時://example.com/wiki/en

它說該頁面不存在。有沒有辦法強制將 / 添加到 URL 末尾的“en”末尾?因為如果你去 //example.com/wiki/en/ 以 / 結尾

第二個問題:

圖像未載入。

這是MediaWiki圖像位置的URL://example.com/wiki/en/skins/common/images/圖像名稱

那麼,如果我的正則表達式試圖獲取圖像,有沒有辦法忽略 URL?

location /wiki/ {
   rewrite ^/wiki/en$ /wiki/en/;
   rewrite ^/([^?]*)/([^?]*)(?:\?(.*))? /$1/index.php?title=$2&$3 last;
}
location /wiki/en/skins/common/images/ {
}

引用自:https://serverfault.com/questions/556930