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

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 中文网

你可能感兴趣的:(Nginx中配置所有子域名重定向Redirect到www)