1
所以我有兩條路線,而第一個不會停止的路線匹配,如文檔說應:爲什麼^〜不停止在nginx中處理路由規則?
location ^~ /p/ {
root /www/domain.com/;
try_files $uri $uri/ /path/index.html;
}
location ^~ /v/ {
root /www/domain.com/;
try_files $uri $uri/ /path/index.html;
}
location ^~/{
root /www/domain.com/php_www/;
try_files $uri $uri/ /index.php;
location ~* \.(?:php|html)$ {
try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
include /etc/nginx/fastcgi_params;
}
auth_basic "Staging";
auth_basic_user_file /www/.htpasswd;
}
所以,如果我有這樣的網址:
http://domain.com/p/1234567890
它匹配最後的路線而不是第一條路線。問題浮出水面,因爲我們的球員之一,增加了一個頁面到應用程序:
http://domain.com/privacy
這是,第一路由回升?問題來自哪裏。
我遇到的問題是與^〜。在文檔中,它表示一旦匹配,它就會停止匹配,但最後一條路線始終是加載的路線。
任何想法?
僅供參考:http://wiki.nginx.org/HttpCoreModule#location – tvpmb
我已經測試了一段時間了。看來問題與nginx沒有檢查第一條路由中的最後一個「/」有關。所以我可以做^〜/ p,它工作正常,但/隱私頁面不加載。但是當匹配的路線是^〜/ p /時它不起作用。這與這個該死的斜線有關! – tvpmb
升級到最新的nginx,並重新命令了一些指令,現在一切正在運行。 – tvpmb