nginx typecho 后台404解决方案

July 21, 2017 by admin

使用lnmp或者其它方法装的环境一般都会用nginx,而nginx使用的伪静态就有点麻烦,它不是apache环境的.htaccess,而是在服务器中需要建一个以.conf结尾的文件。

typecho具体规则如下:
location / {
index index.html index.php;
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}
}

如果使用了伪静态规则还是404的话请进入
/usr/local/nginx/conf/vhost/youname.com.conf
找到
include enable-php.conf;
替换为
include enable-php-pathinfo.conf;
然后保存重启即可(lnmp一键包的重启命令为/etc/init.d/nginx restart

3 comments
  1. 姜辰

    话说原理是啥啊?

    姜辰 回复
    1. admin

      @姜辰

      可能直接写入cookie 要达到效果有很多种方法的

      admin 回复
      1. admin

        @admin

        回复错了233 pathinfo() 函数能以数组的形式返回文件路径的信息,typecho默认伪静态是http://xxx.xx/index.php/xxxxx

        admin 回复
如需评论,请填写表单。

提交前先勾选

© 2017 | 由 Typecho 强力驱动 | Hucore theme