Nginx 下虚拟主机配置如下:
server {
listen 80;
server_name ectest.local.com;
root "D:/Dropbox/CodeRoot/Shop/ecstore-V0.8/";
location / {
index index.php index.html error/index.html;
error_page 400 /error/400.html;
error_page 403 /error/403.html;
error_page 404 /error/404.html;
error_page 500 /error/500.html;
error_page 501 /error/501.html;
error_page 502 /error/502.html;
error_page 503 /error/503.html;
error_page 504 /error/504.html;
error_page 505 /error/505.html;
error_page 506 /error/506.html;
error_page 507 /error/507.html;
error_page 509 /error/509.html;
error_page 510 /error/510.html;
include D:/Dropbox/CodeRoot/Shop/ecstore-V0.8//nginx.htaccess;
autoindex on;
}
location ~ \.php(.*)$ {
fastcgi_pass 127.0.0.1:9004;
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
}
}
这个配置解析正常的没有 get 参数的网址没有问题。现在有一个后台地址: http://ectest.local.com/shopadmin/index.php?ctl=passport 。正常情况下这个地址应该解析到后台的 passport 控制器文件。
现在访问上面的网址,会直接报 403 Forbidden 错误,在 index.php 程序里打印输出也无法输出。开了 Nginx 错误日志,日志里面也没有 403 的信息,只有 access.log 有 403 请求错误。
请教各位大佬应该如何改动虚拟主机配置使得这个网址正确解析。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.