nginx虚拟目录绑定并可执行php问题。
想把xxx.com/test 这个路径映射到/home/wwwroot/default/目录下并能执行php可是网上的配置都不能在lnmp里面生效。比如
location /test/ {
alias/home/wwwroot/default;
index index.php;
location ~ .php$ {
expires epoch;
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_indexindex.php;
include fastcgi.conf;
fastcgi_paramSCRIPT_FILENAME /home/wwwroot/default$fastcgi_script_name;
}
location ~ .(jpg|jpeg|gif|png|ico)$ {
access_logoff;
expires 33d;
}
}
该如何配置呢? location /test {
alias /home/wwwroot/test/;
index index.html index.php;
}
location ~ /test/.+\.php$ {
rewrite /test/(.+\.php) /$1 break;
fastcgi_passunix:/tmp/php-cgi.sock;
fastcgi_indexindex.php;
fastcgi_paramSCRIPT_FILENAME/home/wwwroot/test/$fastcgi_script_name;
includefastcgi_params;
}
用了军哥的这个配置也不行,html可以解析,但是无法识别php,提示No input file specified. 参考:https://bbs.vpser.net/viewthread.php?tid=13616&page=1&fromuid=3#pid41706
如果alias目录不在 该虚拟主机的root 目录内,必须要同时必须要删掉该虚拟主机目录下的.user.ini 还是一样放在alias下面的html可以解析,而放在alias下php显示404。alias下并没有ini文件。
回复 4# 的帖子
上面的就是完整的例子不行肯定你那边配置有问题上面也没说是alias目录,上面说的是虚拟主机目录 我server没有root /目录是反向代理过去的其他所有的都是lnmp1.2自带的没改过
你看下现在的配置 test这个目录 html可以执行 但是访问 php404server{
listen 80;
server_name xxx.com www.xxx.com;
location ^~ /test/ {
alias /home/wwwroot/default/test/;
include enable-php2.conf;
}
location / {
proxy_connect_timeout 300s;
proxy_send_timeout 900;
proxy_read_timeout 900;
proxy_buffer_size 32k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_redirect off;
proxy_hide_headerVary;
proxy_set_header Accept-Encoding 'gzip';
proxy_set_header Host $host;
proxy_set_header Referer $http_referer;
proxy_set_header Cookie $http_cookie;
proxy_set_header X-Real-IP$remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8081;
}
location /static/ {
root /root/static/;
}
} error.log显示。directory index of " " is forbidden
回复 7# 的帖子
你重启nginx了没,上面的配置绝对没问题如果没index文件及index的设置肯是403 forbidden
回复 8# 的帖子
奇了怪了 alias下面放了index.php和index.html访问 www.xxx.com/test/index.php 提示404
访问 www.xxx.com/test/index.html可以成功
也就是说无法找到php并进行解析,其他的文件都可以访问。
不知道nginx里面用什么log可以看php有没有成功执行呢?
军哥救我。。
[ 本帖最后由 yestop 于 2016-6-3 18:00 编辑 ]
回复 9# 的帖子
你发的配置我测试过正常解析php8楼说了,不只是有index文件就行 好吧,虽然不是特别明白但 index文件我设置了,问题是我完整地址访问index.php现在是404error,而能完整地址访问index.html,文件都在同一个alias下。
页:
[1]