nginx 301跳转域名到带www的上面
办法1:小夜给我的,打开域名的时候可以跳转,但从搜索过来的不带www的域名的地址就没有效果了。后来又找网上面找了一个办法,才可以的。
if ($host != 'www.shangpan.com') {
rewrite ^/(.*)$ http://www.shangpan.com/$1 permanent;
}
办法2:在配置文件里面写两个server,第一个里面把不带www的域名去掉
server
{
listen 80;
server_name www.shangpan.com;
在配置文件的最下面添加上,这样就可以了。
server {
server_name shangpan.com;
rewrite ^(.*) http://www.shangpan.com/$1 permanent;
}
另外再附上一个完整的配置文件。
server
{
listen 80;
server_name www.tenmm.net;
index index.html index.htm index.php default.html default.htm default.php;
root /home/wwwroot/tenmm.net/ask;
include tenmm.conf;
location ~ .*\.(php|php5)?$
{
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fcgi.conf;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
log_format www.tenmm.net '$remote_addr - $remote_user [$time_local] $request '
'$status $body_bytes_sent $http_referer '
'$http_user_agent $http_x_forwarded_for';
access_log /home/wwwlogs/www.tenmm.net.log www.tenmm.net;
}
server {
server_name tenmm.net;
rewrite ^(.*) http://www.tenmm.net$1 permanent;
}