Rewirte

Web技术 jikk345 649℃ 0评论
Nginx rewirte
Nginx 的Rewrite规则需要PCRE软件的支持,即通过perl兼容正规表达示的语法进行配置的。
默认参数Nginx会就支持Rewrite的模块,但是必须要有PCRE。
1、Nginx Rewrite语法
rewrite的指令语法

指定语法:Rewrite regex replacement[flag];
默认值:none
应用位置:server,location,if
rewrite 是实现URL重写的关键指令,根据regex(正规表达式)部分内容,重写向到replacement部分内容。
结尾是flag标记(永久跳转)。下面就是一个简单的URL Rewrite跳转的
  1. rewrite ^/(.*)http://www.qinglin.net/$1 permanent;
上述rewrite指令说明:
上述指令中,rewrite为固定关键字,表示开启一条rewrite匹配规则,
2、实战实现rewrite
  1. [root@Qinglin-Test1 vhost]# vim qinglin.conf
  2. server {
  3. listen 80;
  4. server_name www.qinglin.net qinglin.net;
  5. location / {
  6. root html/qinglin;
  7. index index.html index.htm;
  8. rewrite ^/(.*) http://www.qinglin.net/$1 permanent;
  9. }
  10. access_log logs/access_qinglin.log main;
  11. }
测试,结果为301跳转
  1. [root@Qinglin-Test1 vhost]# curl www.qinglin.net
  2. <html>
  3. <head><title>301 Moved Permanently</title></head>
  4. <body bgcolor="white">
  5. <center><h1>301 Moved Permanently</h1></center>
  6. <hr><center>nginx/1.6.3</center>
  7. </body>
  8. </html>
2、Nginx Rewrite的企业应用场景
Nginx 的rewrite 功能在企业里应用非常广泛:
a. 可以调整用户浏览URL,看起来更规范,合乎开发及产品人员的需求。
b. 为了让搜索引擎收录网站内容及用户体验更好,企业会将动态URL地址装成静态网址提供服务。
c. 网站换新域名后,让旧的域名访问中转到新的域名商上,例如:让东的360buy.com跳转,变成了jd.com
d. 根据特殊变量、目录、客户端的信息进行URL跳转等。
3、实现不同域名的URL跳转
例1:实现http://www.qinglin.net跳转到www.qinglin.net/test.html外部跳转时使用的这种方法,浏览器
地址会变为跳转后的地址,另外,要事先设置www.qinglin.net/test.html有结果输出,不然会出现404等问题。
(配置)

转载请注明:清麟博客 » Rewirte

喜欢 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址