我试图将琐碎的htaccess文件转换为Nginx并且无法使其工作.它返回404错误.
这是htaccess内容:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$index.PHP [L]
这是我当前的Nginx配置:
server {
listen 80;
server_name domain.biz;
root /var/www/domain.biz;
charset utf-8;
autoindex off;
location / {
try_files $uri $uri/ /index.PHP?$args;
}
location ~ \.PHP${
include fastcgi_params;
fastcgi_pass unix:/var/run/PHP5-fpm.sock;
fastcgi_param SCRIPT_FILENAME /var/www/domain.biz$fastcgi_script_name;
}
}
最佳答案
>你直接调用的其他PHP文件怎么样?例如,info.PHP只有一个
的PHPinfo();
内?
我问这个是因为你的服务器conf似乎正好使用了try_files,但我不确定你是否正确使用PHP脚本.
>¿你的fastcgi池是否正在听袜子? ¿你确定它没有在端口9000中监听吗?无论如何,我更喜欢在http部分定义一个上游,稍后在服务器部分使用它
http {
upstream PHPbackend {
server unix:/var/run/PHP5-fpm.sock;
}
...
server {
...
location ~ \.PHP${
include fastcgi_params;
fastcgi_pass PHPbackend;
fastcgi_param SCRIPT_FILENAME /var/www/domain.biz$fastcgi_script_name;
}
}
}
>你确定你的PHP.ini有cgi.fix_pathinfo设置为false吗?