重庆SEO, 关注并探索SEO与WEB技术。针对用户体验,提供白帽SEO以及PHP网站建设以及运营服务。 详情

Apache切换到Nginx后目录301失效的小问题

发布于 作者 [重庆SEO]

Markdown版本

有一个项目前段时间从lamp切换到lnmp后,htaccess的rewrite规则转换为nginx的规则后前台页面显示正常,然后没有更仔细的测试,最近在日志分析的邮件里面发现少量个别目录301重定向失效了。

比如:
location / {
    if (!-e $request_filename) {
        rewrite ^/dir1/(.*)$ /dir2/$1 permanent;
        rewrite ^/dir1/dir2/(.*)$ /dir1/$1 permanent;
        ...
    }
}
死活不能正常运行。
#可以, 非常规后缀名
/dir1/a.b => /dir2/a.b
/dir1/dir2/a.xx => /dir1/a.xx
#不可以
/dir1/a.jpg => /dir2/a.jpg
/dir1/dir2/a.jpg => /dir1/a.jpg
后来我将他们单独提出来后,正常了。
location ~* ^/dir1/ {
    rewrite ^/dir1/(.*)$ /dir2/$1 permanent;
}
location ~* ^/dir1/dir2/ {
    rewrite ^/dir1/dir2/(.*)$ /dir1/$1 permanent;
}
虽然这样问题也解决了,但之前的为什么不可以不得而知,如果你知道,请告知我,或许我之后了解了,也第一时间更新到这里。
分类:Nginx

Tags: 失效, 切换, 目录,

本文标题: Apache切换到Nginx后目录301失效的小问题

本文地址: https://seonoco.com/blog/apache-switch-to-nginx-301

版权说明: 本站遵循 CC BY-NC-SA 4.0 协议, 未表明转载信息均为原创或整理,转载或引用请注明出处,以便溯本求源。

补充说明: 本文在本站发布于2016-01-25,文中部分内容可能存在过时或不正确,请知晓!如果可以请留言告知。

本文是否有所帮助?
点赞
说一说
打赏