Nginx伪静态配置主要是通过Rewrite规则来实现的,这里总结些常用的Rewrite规则:
1. 隐藏index.php
rewrite ^/index\.php(.*)$ /$1 last;
2. 移除末尾的html后缀
rewrite ^/(.+)\.html$ /$1 last;
3. 目录结尾加斜杠
rewrite ^/(\w+[^/])/$ /$1/ permanent;
4. 强制添加www
server_name xxx.com; rewrite ^(.*)$ http://www.xxx.com$1 permanent;
5. https跳转
server { listen 80; return 301 https://$host$request_uri; }
6. ERR_TOO_MANY_REDIRECTS 问题
if ($http_referer ~* (.+)/$ ){ set $rule_0 1$rule_0; } if ($rule_0 = "1"){ rewrite ^/(.*)$ /$1 permanent; }
开启伪静态还需要在nginx.conf中设置:
server { ... location / { try_files $uri $uri/ /index.php$is_args$args; } ... }
以上是Nginx中伪静态配置的基本方法和常用Rewrite规则,可以组合使用实现复杂的URLrewrite。
© 版权声明
本文刊载的所有内容,包括文字、图片、音频、视频、软件、程序、以及网页版式设计等部门来源于互联网,版权均归原作者所有!本网站提供的内容服务于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。
联系信息:邮箱aoxolcom@163.com或见网站底部。
联系信息:邮箱aoxolcom@163.com或见网站底部。
THE END
请登录后发表评论
注册
社交帐号登录