处于SEO考虑,经常要301重定向,比如把没有www的定向到www的域名。在LNMP中进行301重定向其实也很简单。
下面演示一下将域名eincy.com重定向到www.eincy.com的方法:
1.打开/usr/local/nginx/conf/vhost目录下相应的.conf文件,比如我的是/usr/local/nginx/conf/vhost/www.eincy.com.conf
里面的原来应该是
server
{
listen 80;
server_name www.eincy.com eincy.com;
index index.html index.htm index.php default.html default.htm default.php;
root /home/wwwroot; include none.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;
} access_log off;
}
如果上面代码的server_name后面同时存在www.eincy.com eincy.com两个域名,就把eincy.com这个删除了。
2.在后面加上
server {
server_name eincy.com;
rewrite ^(.*)$ https://ilovetile.sijie.wang$1 permanent;
}
3.现在的总代码应该是
server
{
listen 80;
server_name www.eincy.com;
index index.html index.htm index.php default.html default.htm default.php;
root /home/wwwroot; include none.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;
} access_log off;
}
server {
server_name eincy.com;
rewrite ^(.*)$ https://ilovetile.sijie.wang$1 permanent;
}
4.重启LNMP
/root/lnmp stop
/root/lnmp start
现在,用eincy.com域名访问就会自动跳转到www.eincy.com啦。
转载请保留链接:https://ilovetile.sijie.wang/1098/ 感谢您对版权的尊重
感谢分享
太棒了,我找了好久好久才找到这里.痛哭流涕~~~!
代码很复杂呀!呵呵
Apache 的话,直接修改 .htaccess 更简单;
rewriteEngine on
rewriteCond %{http_host} ^eincy.com[NC]
rewriteRule ^(.*)$ http://www.eincy.com/$1 [R=301,L]
不过,应该将www重定向为无w的,这样 URL 更简洁;
@流年 我用的是Nginx,想把www换成没有的,不过不知道这样对SEO会不会影响很大
@eincy: LNMP,哦,一时没反应过来。SEO的话,我认为是没影响的,搜索引擎已收录的带www会自动重定向到没www的
有的不是lnmp一键包的可以直接重启nginx
/usr/local/nginx/sbin/nginx -s reload
@vaman 感谢补充啊
得,我还真想自己也弄个博客了,改天弄好了希望博主也能到我那拜访下!
后面那部分的意思我没能弄明白~是表达什么呢?博主能否说明白些?