Linux
讓 nginx 在載入確切位置時執行特定的 PHP 文件
我剛剛實現了通過和腳本的
Autodiscover
功能。雖然設置工作起來很有魅力,但我想對 nginx 伺服器塊做一些改進,但我沒有成功。MS Outlook Clients``Nginx``PHP
目前的 nginx 伺服器塊如下所示,正如您所見,當
/autodiscover/autodiscover.xml
載入位置時,客戶端被重定向到/autodiscover/autodiscover.php
,然後 nginx 執行 PHP 腳本並將結果返回給客戶端。location = /autodiscover/autodiscover.xml { rewrite .* /autodiscover/autodiscover.php redirect; } location ~ \.php$ { fastcgi_pass php-fpm73; fastcgi_split_path_info ^(.+\.php)(/.*)$; include /etc/nginx/fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param HTTPS on; }
我想修改 nginx 伺服器塊,以便在
/autodiscover/autodiscover.xml
請求時/autodiscover/autodiscover.php
執行 PHP 腳本,然後將結果返回給客戶端而不進行重定向,因此客戶端的 URL 保持不變,/autodiscover/autodiscover.xml
.希望可以有人幫幫我。
提前致謝,
只需使用
rewrite .* /autodiscover/autodiscover.php last;
反而。該
last
標誌將強制 nginx 中斷目前位置處理並根據重寫的 URI 搜尋新的位置處理。您可以在此處查看完整的
rewrite
指令語法。