Activities

October 2010
M T W T F S S
« Sep   Nov »
 123
45678910
11121314151617
18192021222324
25262728293031

NGINX : http domain requests to www

How do I re-direct the http domain request www domain request in Nginx server.

You need to add two virtualhost. One is for re-directing non-www request and other one is for server www-domain request.

# [root@u15382543 ~]# vi /etc/nginx/conf.d/domain.com.conf

server {
   server_name  domain.com;
   listen    74.28.17.98:80;
    rewrite ^(.*) http://www.domain.com$1 permanent;
}
server {
    server_name  www.example.com;    
}

My domain.conf file is,

server {
   server_name  domain.com;
   listen    74.28.17.98:80;
    rewrite ^(.*) http://www.domain.com$1 permanent;
}
server {
  listen    74.20.17.98:80;
  server_name   www.domain.com;
  #access_log      /var/log/httpd/nginx.access.domain.com.log;

  error_log     /var/log/httpd/nginx.errors.domain.com.log warn
  large_client_header_buffers 4 8k; # prevent some 400 errors
   root        /var/www/vhosts/domain.com/httpdocs;
  index       index.php index.html;

location / {
    expires 30d;
    error_page 404 = @joomla;
    log_not_found off;
  }

 location @joomla {
    rewrite ^(.*)$ /index.php?q=$1 last;
  }

error_page 500 502 503 504 404  /404.html;
        location = /404.html {
         root  /var/www/vhosts/domain.com/httpdocs/;

location ~ .php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME   /var/www/vhosts/domain.com/httpdocs$fastcgi_script_name;
            include        fastcgi_params;
        }
# Select files to be deserved by nginx
 location ~* ^.+.(swf|zip|rar|html|htm|pdf)$ {
#location ~* ^.+.(zip|rar|html|htm|pdf)$ {
    root  /var/www/vhosts/domain.com/httpdocs/;
    expires           7d;
  }
}

Verify the config. file.

[root@u15382543 ~]# /etc/init.d/nginx configtest
2010/10/19 13:43:52 [info] 21005#0: the configuration file /etc/nginx/nginx.conf syntax is ok
2010/10/19 13:43:52 [info] 21005#0: the configuration file /etc/nginx/nginx.conf was tested successfully

Check the error file

#tail -f /var/log/nginx/error.log

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>