加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

使用带有Nginx的try_files将所有对非现有文件的请求重写为index.

发布时间:2020-12-13 21:01:21 所属栏目:Nginx 来源:网络整理
导读:我试图将琐碎的htaccess文件转换为Nginx并且无法使其工作.它返回404错误. 这是htaccess内容: RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule ^(.*)$index.php [L] 这是我当前的nginx配置: server {listen 80;server_

我试图将琐碎的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吗?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读