关于nginx的rewrite规则的问题

回复 收藏

现在有个需求就是,网站根目录下有css|images|js 这几个文件,如果是访问www.test.com/(css|font|images|js)/xxx.xxx 这些静态文件路径,是什么路径就访问什么路径;如果非域名后面跟上的那几个(css|images|js),例如www.test.com/about  就跳转到www.test.com/index.html

规则写成了如下的样子:

    location / {
        index  index.html index.php;
        if ($request_uri ~* ^/[^css|images|js]/?.*$) {
           rewrite ^.*$ /index.html? permanent;
           break;
        }
    }

但是效果没达到我的要求,例如访问了www.test.com/about  或者www.test.com/asd这样的链接,返回是404而不是我想要的返回index.html

除了使用rewrite的方法还有没其他的办法可以实现我的想法?

麻烦铭哥或者懂的哥们不吝赐教!不胜感激!

顺便求一本关于nginx规则配置的书籍,想系统学习下nginx这块的知识

2016-11-07 10:47 举报
已邀请:
0

阿铭 管理员

赞同来自:

改成这样

 if ($request_uri ~* ^/(css|images|js)/.*$) {

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: