NginX重写/重定向规则http:// www到http://

时间:2015-06-12 21:01:17

标签: redirect nginx rewrite

我需要一个基本的重定向规则,因此如果有人输入:www.site.com将被重定向到site.com。我需要它在浏览器中看起来整洁干净。

我在我的nginx服务器块中试过这个:

# trying redirects from http://   www.site.com to http://   site.com
if ($host = "www.site.com") {
rewrite ^ $scheme://site.com$uri permanent;
}

...

location / {
    try_files $uri $uri/ @modx-rewrite /index.php?/$request_uri;
    location ~ .php$ {
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    }

但是由于某些原因,我没有找到服务器,并且没有找到服务器错误"。 它还在我的地址中添加了http S.

如果没有这些规则,我的网站就可以正常运行并通过https运行,并且网页通常会通过https:// site.com链接打开。

感谢。

注意:我故意在地址中的代码snipets中添加了几个空格,否则stackoverflow不会让我发布它。

1 个答案:

答案 0 :(得分:1)

简化:

server {
    listen       80;
    server_name  example.com;
    location / { .........; }
}
server {
    listen       80;
    server_name  www.example.com;
    location / { return 301 http://example.com$request_uri; }
}