wxcc.net
当前位置:首页 >> nginx的rEwritE 跳转后原URL不变,怎么写? >>

nginx的rEwritE 跳转后原URL不变,怎么写?

像如 rewrite ^/abc$ http://www.ppp.com:8080/aaa last;的这种跳转规则,作如下的解释: 如果rewrite指令的第二个参数(replacement)以http或者以https开头,则nginx内部会将该跳转作为临时重定向去处理,表现到http的响应就是会以302响应状态...

在你配置文件的最后行,不要添加permanent,该参数会发起301重定向 你写成last 试试

在rewrite规则的最后加上redirect或者permanent,浏览器就能够临时或者永久的显示跳转后的URL地址了。

location /public { try_files $uri $uri/ /index.php?_url=/?$query_string; client_max_body_size 10m; }你试试

nginx rewrite是必然会是浏览的url改变的。你不想改变应该使用nginx的反向代理,参数为proxy_pass

nginx的正则不支持取反 建议是把处理upload,public的location提前 location 上是支持的,这样写是没问题的 location ~* ^/(?![public|upload]) { rewrite ^(.*) http://www.baidu.com permanent;}

Nginx的Rewrite规则和Apache的Rewite规则差别不是很大,几乎可以直接使用。比如在Apache中这样写规则 rewrite ^/([0-9]{5}).html$ /viewthread而在Nginx中写成这样写是无法启动的,解决的办法是加上两个双引号: rewrite "^/([0-9]{5}).html$" /...

rewrite ^/IMG/(.+) /ABC/$1 last; 其实,这个需求不必用rewrite,可以直接使用alias来实现: location /IMG/ { alias /var/www/ABC/IMG/; }

location ~ /new { rewrite /new?word=&ie=GBK /ihome/ask?tab=1 permanent; } 你的URL地址从问号那里起,应该是参数。。。如果是的话你可以用.*来表示问号和他后面的内容。比喻:/new.* 不知道行不行,有问题的话再一起讨论

假如你要排除abc和efg两个目录,可以如下配置: location !~* /([abc|efg]) { rewrite ^(.*) http://www.abc.com permanent; }

网站首页 | 网站地图
All rights reserved Powered by www.wxcc.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com