nginx下怎么把images、css文件夹从伪静态中排除?

1、场景如下:
A、环境:CentOS7下安装的wdcp面板,系统环境是LNAMP
B、问题1:在面板里面新建网站后,在nginx和apache配置文件里面,把路径全部改成 xxx/public_html/public (PS:这是tp5的框架结构,yii2的也面临这个问题) 后重启web服务,网站无法打开。
C、问题2:重新生成配置文件,使用 xxx.com/public/index.php 访问。都可以正常打开,但是在public下面新建.htaccess文件做rewrite去掉index.php后,没有任何效果,推断应该是要改nginx才行
D、于是指定php版本为php7,切换到nginx+php环境,去掉index.php做好了,但是images这些正常文件夹都无法访问了,提示没有对应模块。

2、nginx部分代码如下

`location / {

 rewrite ^/$ /index.php last;
 rewrite ^/(?!index\.php|robots\.txt|uploads|images|js|css)(.*)$ /index.php?s=/$1 last;

}`

3、诉求:

1、求一份nginx去除index.php且排除images等文件夹的伪静态代码
2、如果有类似情况的wdcp,求lnamp正常开启的配置(有则更好,没有也感谢)

4、衷心感谢大热天帮我解决问题的人,谢谢!

阅读 5.2k
2 个回答

去除index.php:

rewrite ^/(.*) /index.php last;
location / {
            if (!-e $request_filename) {
                #rewrite  ^(.*)$  /index.php?s=$1  last;
                rewrite ^/(.*)$ /index.php/$1 last;
                    break;
            }
        }
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题