Ubuntu
Nginx 重寫到上一個目錄
我正在嘗試將我的部落格從blog.example.com移動到example.com/blog來做到這一點我寧願不在磁碟上移動任何東西,所以我將我的 nginx 配置文件更改為以下內容:
location /blog { if (!-e $request_filename) { rewrite ^.*$ /index.php last; } root /home/demo/public_html/blog.example.com/current/public/; index index.php index.html index.html; passenger_enabled off; index index.html index.htm index.php; try_files $uri $uri/ @blog; }
這很好用,但是當我訪問 example.com/blog 時,nginx 會尋找:
/home/demo/public_html/blog.example.com/current/public/blog/index.php
代替
/home/demo/public_html/blog.example.com/current/public/index.php
有沒有辦法設置重寫規則,以便我可以讓伺服器自動取出 /blog/ 目錄?
就像是 ?
location /blog { rewrite \\blog\D \; }
你誤解了root的用法。你真正想要的是別名指令:http ://wiki.nginx.org/NginxHttpCoreModule#alias