请教一个 nginx 配置问题,关于 rewrite 的写法

2015-12-08 22:59:05 +08:00
 ghy459
折腾了一晚上 nginx ,发现一个 nginx 配置需求实现不了
1 、 http://www.xxx.com/blog/.* 正常请求 /wwwdata/xxx/blog 下的一个 wordpress
2 、 http://www.xxx.com/ 302 到 http://www.xxx.com/blog/
3 、其余请求 http://www.xxx.com/.* 都 302 到另外一个 URL http://www.aaa.com/

目前的配置是

server
{
listen 80;
server_name www.xxx.com;
index index.php;
root /wwwdata/xxx;

location = /
{
rewrite . http://www.xxx.com/blog/ redirect;
}

location ~ [^/]\.php(/|$)
{
try_files $uri =404;
fastcgi_pass unix:/var/run/php5-fpm.sock;
include fastcgi_params;
fastcgi_index index.php;
}
}

第一和第二两点都好操作,但当我尝试加入 location ^~ / 貌似所有请求都进去这个 location 了, php 也不解析。
nginx 自学的也没太懂,请问各位大牛这个该咋写?
2876 次点击
所在节点    NGINX
3 条回复
ryd994
2015-12-09 00:10:28 +08:00
location / {
return http://www.aaa.com/
}
没事用什么 regex
location = / 也不需要 rewrite 。直接 return http://www.xxx.com/blog/就行
还有,今后例子还是 a.com b.com 比较好。我手贱点开了链接,周围人的眼神都不对了
shyling
2015-12-09 02:30:42 +08:00
如楼上。。第三个用默认的 location /{}就行了。。 return 302 http://xxx.com;
lhbc
2015-12-09 08:42:28 +08:00
location 匹配有优先级,合理利用优先级就行了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/242115

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX