nginx $document_uri 参数使用

回复 收藏
$document_uri  表示访问的url
现在我的需求是,访问 www.abc.com  请求到 www.abc.com/abc/
在nginx配置文件中加入
  1.    if ($document_uri !~ 'abc')
  2.     {
  3.             rewrite ^/(.*)$ http://www.abc.com/abc/$1 permanent;
  4.     }

而不是单独加一句  rewrite ^/(.*)$ http://www.abc.com/abc/$1 permanent;
如果只加rewrite 规则,而不限定条件,那么会造成死循环。  会访问到   http://www.abc.com/abc/abc/abc/abc/....
2012-03-12 11:56 举报
已邀请:
0

lidunhuai

赞同来自:

在外面看N多资料,还不如铭哥的几行字。。
0

lyhabc

赞同来自:

http://blog.sina.com.cn/s/blog_594c47d00101dfyh.html
找到一篇文章解释$document_uri 、$uri  $host这三个全局变量的区别了
$uri                                        功能:该变量的值等于当前请求中的URI(没有参数,不包括$args)的值。它的值不同于request_uri,由浏览器客户端发送的request_uri的值。例如,可能会被内部重定向或者使用index。
另外需要注意:$uri不包含主机名,例如 "/foo/bar.html"
0

elvis

赞同来自:

请问if ($document_uri !~ 'abc')有何含义?
0

summer123

赞同来自:

elvis 发表于 2016-5-4 21:02
请问if ($document_uri !~ 'abc')有何含义?

就是限制啊对请求报文做判断
0

elvis

赞同来自:

summer123 发表于 2016-6-22 17:11
就是限制啊对请求报文做判断

还是不明白{:4_114:}
0

sumea

赞同来自:


若访问的网站目录不是abc,则跳转至该目录,如访问http://www.aming.com/index.php跳转至http://www.aming.com/abc/index.php
0

elvis

赞同来自:

sumea 发表于 2016-7-4 21:58
若访问的网站目录不是abc,则跳转至该目录,如访问http://www.aming.com/index.php跳转至http://www.amin ...

无限感激,今次明白了

回复帖子,请先登录注册

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