请教一个nginx rewrite或默认文档的问题
1个回答
展开全部
我配置了一段nginx的虚拟主机,想要实现当访问根目录下的文件时,去调用/control/web/下的文件,而如果根目录下不写任何东西(即只访问域名),则取调用/control/web/下的默认文件,即index.html、index.htm、index.php,如下是配置信息,当访问域名网址时,提示"500 Internal Server Error",但是/control/web/下确实有index.html文件。
配置如下:
server
{
listen 80;
server_name [url]www.abcd.com[/url];
index index.html index.htm index.php;
root /www/;
rewrite ^/(.*) /control/web/$1;
location ~ .*\.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
解决方法
rewrite ^/(?!control/)(.*) /control/web/$1 ;
这个应该可以了
配置如下:
server
{
listen 80;
server_name [url]www.abcd.com[/url];
index index.html index.htm index.php;
root /www/;
rewrite ^/(.*) /control/web/$1;
location ~ .*\.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
解决方法
rewrite ^/(?!control/)(.*) /control/web/$1 ;
这个应该可以了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询