2016-09-17 119 views
0

試圖看看這是否可能。nginx相同的位置,但有不同的指令

我們有一個應用程序和wordpress安裝。

是否可以在同一個文件夾中使用2個位置,但在不同情況下。例如..

http://domain.com/subfolder/ - 這顯示了APP http://domain.com/subfolder/anything - 這說明WP永久

現在,我們有這麼

http://domain.com/subfolder(不帶/)顯示應用

http://domain.com/subfolder/(帶/)顯示WP。

這並不工作,但它是可能有它的話,它只會顯示WP如果該URL後,子文件夾/ *

當前的Nginx的conf包含文本:

location ^~ /knowledge { 

root /opt/domain.com/public/; 
try_files $uri @backend; 
} 

location /knowledge/ { 
index index.php index.html index.htm; 

root /opt; 
include /etc/nginx/php-wpsc.conf; 
try_files $uri $uri/ /knowledge/index.php?q=$uri&$args; 
} 

回答

0

顯然,這使得感覺保留WordPress的location /knowledge/塊,因爲這與大多數情況相符,只需要一個需要被覆蓋的情況。

通過使用優先級較高的位置塊,可以從該位置塊取走特定的URI。詳情請見this document

一種可能性是完全匹配的位置塊:

location = /knowledge/ { 
    rewrite^/knowledge last; 
} 

或者可能的話,現有的location ^~ /knowledge塊從前綴位置更改爲正則表達式的位置,使得尾部/可選。

location ~ ^/knowledge/? { ... } 

請注意,這會改變此位置塊的評估順序,因此可能存在需要考慮的副作用。

相關問題