1.前言
需要做 test.com
域名的访问重定向到 www.test.com域
名上,需要使用的到 Apache 301 重定向。
2.环境
操作系统:ubuntu 20.04 LTS
Apache2
版本:2.4.41
apache2 先开启重定向和 ssl 功能
a2enmod rewrite
a2enmod ssl
systemctl restart apache2
3.修改配置
注意:切勿使用服务别名和 301 重定向的域名出现冲突的情况,否则实现不了重定向,亲测过。
修改 80 端口的配置文件:/etc/apache2/sites-enabled/000-default.conf
,内容如下:
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ServerName www.test.com
RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*) https://%{SERVER_NAME}$1 [L,R=301]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ %{REQUEST_SCHEME}://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
修改 443 端口的配置文件:/etc/apache2/sites-enabled/default-ssl.conf
,内容如下:
ServerAdmin webmaster@genscript.com
DocumentRoot /var/www/html
ServerName www.test.com
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ %{REQUEST_SCHEME}://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
如果是 www 跳转不带 www 的域名,则写法如下:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^ %{REQUEST_SCHEME}://%1%{REQUEST_URI} [R=301,L]
4.刷新配置生效
systemctl reload apache2
5.参考
注意:网上很多教程说在网站根目录新建一个
.htaccess
文件,经测试,此种办法已经失效
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于