我試圖強行通過nginx的PHP-FPM以下URL來處理:爲一個規則nginx的多個位置的正則表達式
與
- .PHP
- /sitemap.xml 結尾的網址
- /api/api.js
我想下面的正則表達式,但它不工作:
location ^~ ^((.*\.php)|/sitemap.xml)+$ {
我試圖強行通過nginx的PHP-FPM以下URL來處理:爲一個規則nginx的多個位置的正則表達式
與
我想下面的正則表達式,但它不工作:
location ^~ ^((.*\.php)|/sitemap.xml)+$ {
的Try ...
location ~ (\.php|sitemap\.xml|api/api\.js)$ {
...
}
你真不該試圖迫使Nginx的送東西給PHP。這是'錯誤的方式'。你應該讓Nginx看看文件是否存在,如果不存在則通過。據瞭解,* .php需要由PHP處理,所以你通過.php。
location/{
try_files $uri /index.php;
}
location ~ \.php {
fastcgi_pass unix:/tmp/php-fpm.socket;
}
location = /api/api.js {
fastcgi_pass unix:/tmp/php-fpm.socket;
}
location = /sitemap.xml {
fastcgi_pass unix:/tmp/php-fpm.socket;
}
試圖保持位置的正則表達式時,你不明白Nginx的位置塊的工作是如何將是從長遠來看,極其痛苦。