nginx服务器环境,网站子目录m伪静态规则设置
今天在小哲网赚大佬的帮助下,自己的网站从apache服务器成功更换到nginx系统。之所以要更换,主要是网站使用cdn加速后,使用苹果自带浏览器访问时会出现无法打开的现象。虽然单独对网站设置可以解决这个问题,但每次都单独设置还是比较麻烦的,更换nginx后貌似可以完美解决这个问题。
由apache服务器转化nginx系统会出现二级目录伪静态和根目录伪静态出现冲突,主站伪静态没有问题,站内伪静态会出现404错误,需要单独设置二级目录伪静态规则。我的二级目录没有解析二级域名,使用宝塔提供的二级目录伪静态规则也不能解决,子目录网站动态可以访问,伪静态不行。小哲大佬单独为我设置了伪静态规则,完美解决了问题。具体的伪静态规则如下,子目录为m。
location /{
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;
}
}
location /m/{
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 (.*) /m/index.php;
}
}
按照小哲大佬的意思是,现在的cdn都是基于nginx环境的,设置好环境,苹果自带浏览器就能访问了。下面说一下伪静态规则的详细说明,方便以后设置。
1、location表示目录
2、/表示根目录,用的是默认的Z博客规则
3、/m/用的是二级目录的伪静态规则,规则是直接从Z博客后台复制的
如果你的子目录是app,设置规则的时候,要修改成location /app/
特别感谢一下小哲,不但帮我解决了攻击的问题,也教会了我一些网站设置技巧。如果大家没钱上高防,可以上小哲的高防cdn试试,完全免费的。