您的位置:首页 > 运维架构 > Nginx

Nginx中配置所有子域名重定向Redirect到www

2013-04-13 10:29 295 查看
Apache 配置是这样的:

#.htaccess

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.yourdomain\.com
RewriteRule (.*) http://www.yourdomain.com$1 [R=301,L]

Nginx 的配置:

# /etc/nginx/nginx.conf

if ($http_host !~ “^www\.yourdomain\.com$”) {
rewrite ^(.*) http://www.youdomain.com$1 permanent;
}

//PS:这里提醒一下 非原作者加注(虽是小细节问题但对于nginx新人来说也是不知道的,所以特此在说一下,以防不清楚的同学会忽视的,平时大家写程序if 后跟的括号之间都不会有空格,但在nginx的规则中是不行的,会报错的)上面的 小括号 两边 要与 if 和左大括号 之间要有空格 不然 nginx 会提示 unknown directive

Nginx的 Rewrite Flags

last – 基本上都用这个Flag。
break – 中止Rewirte,不在继续匹配
redirect – 返回临时重定向的HTTP状态302
permanent – 返回永久重定向的HTTP状态301

转载注明:转自Nginx 中文网
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: