Nginx 如何检索try_files指令中使用的目录?
我很难弄清楚try_文件指令是如何工作的。 如果使用索引文件,此配置将按预期工作(http://domain.com/): 但是,如果我指定PHP脚本(index.PHP或其他),请尝试按预期查找文件,但请查看变量:Nginx 如何检索try_files指令中使用的目录?,nginx,Nginx,我很难弄清楚try_文件指令是如何工作的。 如果使用索引文件,此配置将按预期工作(http://domain.com/): 但是,如果我指定PHP脚本(index.PHP或其他),请尝试按预期查找文件,但请查看变量: X-Fcgi-Script-Name /index.php X-Script-Filename /var/www/index.php 所以我的问题是:如何找到try\u files指令选择的目录 使用的服务器配置: server { server_name ~^(
X-Fcgi-Script-Name /index.php
X-Script-Filename /var/www/index.php
所以我的问题是:如何找到try\u files指令选择的目录
使用的服务器配置:
server {
server_name ~^(?P<domain>.+)$;
root /var/www;
autoindex off;
index index.php;
try_files /main_apps/$domain$uri/ /partners/$domain$uri/ =404;
more_set_headers "X-Script-Filename: $request_filename";
more_set_headers "X-Fcgi-Script-Name: $fastcgi_script_name";
# Pass PHP scripts to PHP-FPM
location ~ \.php$ {
fastcgi_param SCRIPT_FILENAME $request_filename;
include php_fpm_params;
}
}
服务器{
服务器名称^(?P.+)$;
root/var/www;
自动索引关闭;
index.php;
try_files/main_apps/$domain$uri//partners/$domain$uri/=404;
更多设置标题“X-Script-Filename:$request\u Filename”;
更多设置标题“X-Fcgi-Script-Name:$fastcgi\u Script\u Name”;
#将PHP脚本传递给PHP-FPM
位置~\.php${
fastcgi_参数脚本_文件名$request_文件名;
包括php_fpm_参数;
}
}
注意:Nginx I使用第三方模块编译
但是,如果我指定PHP脚本(index.PHP或其他),请尝试按预期查找文件
你错了。在本例中,您的请求由location~\.php$
处理,其中没有try\u文件
顺便说一句,
server_name~ ^(?p.+)$代码>太过分了。您应该使用。谢谢您的提示。您在此处出错,请尝试成功查找文件,否则将导致404错误…但您在location~\.php$
中没有try\u文件。
server {
server_name ~^(?P<domain>.+)$;
root /var/www;
autoindex off;
index index.php;
try_files /main_apps/$domain$uri/ /partners/$domain$uri/ =404;
more_set_headers "X-Script-Filename: $request_filename";
more_set_headers "X-Fcgi-Script-Name: $fastcgi_script_name";
# Pass PHP scripts to PHP-FPM
location ~ \.php$ {
fastcgi_param SCRIPT_FILENAME $request_filename;
include php_fpm_params;
}
}