网站的稳定性与用户的体验紧密相连,如果迁移到新域名时,不对旧域名进行合理的重定向设置,辛辛苦苦积累的流量就可能付诸东流,究竟怎样才能设置网站的重定向呢?下面就教教大家如何设置吧!
从服务器端进行重定向设置
毕竟web服务器众多,我就从最常用,最基本的服务器开始,进行设置。
对于Apache服务器设置
首先确定服务器是否开启重写模块,在ssh中输入以下命令检查 Apache 是否已加载 mod_rewrite 模块。
apachectl -M | grep rewrite在以上命令输入后,出现包含 rewrite_module,说明该模块已启用。否则,需要启用它。
使用以下命令启用模块。
sudo a2enmod rewrite如果上述方法不奏效,那么修改 Apache 配置文件,编辑 Apache 的配置文件(通常位置是 /etc/apache2/apache2.conf)。
在ssh中输入vim /etc/apache2/apache2.conf,输入 i 进行编辑,然后把 AllowOverride None 改为 AllowOverride All,按下ESC键,按下 : 输入wq保存,接着输入sudo service apache2 restart重启服务器。
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>经过以上操作就可以使用服务器重写功能,如果是想把旧域名301重定向到新域名在网站根目录中找到并打开.htaccess(没有的话,可以创建一个)文件添加以下代码。
说明:
old-domain.com是旧域名。
www.new-domain.com是新域名。
RewriteEngine On
RewriteCond %{HTTP_HOST} ^old-domain\.com [NC]
RewriteRule ^(.*)$ https://www.new-domain.com/$1 [L,R=301]对于Nginx服务器设置
如果你使用的服务器是Nginx,需要修改配置文件。配置文件位置通常位于/etc/nginx/目录下,然后编辑nginx.conf文件,添加以下代码,后保存配置文件并输入命令sudo nginx -s reload重启 Nginx 服务器。
说明:
old-domain.com 和 www.old-domain.com 替换为你的旧域名。
https://www.new-domain.com 替换为你的新域名。
server {
listen 80;
server_name old-domain.com www.old-domain.com;
return 301 https://www.new-domain.com$request_uri;
}使用代码进行重定向设置
不想设置服务器进行重定向的话,如果你使用的是php,就可以在你的网站根目录中创建一个index.php文件后输入以下代码保存即可。
<?php
// 新的域名地址
$new_domain = "https://www.new-domain.com";
header("Location: $new_domain", true, 301);
exit();