我刚刚实现了through和脚本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
。
希望可以有人帮帮我。
先谢谢了,
答案1
只需使用
rewrite .* /autodiscover/autodiscover.php last;
相反。该last
标志将强制 nginx 中断当前位置处理并根据重写的 URI 搜索新位置。
您可以检查完整的rewrite
指令语法这里。