Leif160519's blog Leif160519's blog

——————

目录
Apache的301重定向配置
/    

Apache的301重定向配置

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文件,经测试,此种办法已经失效


“The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time.” – Tom Cargill

标  题Apache的301重定向配置
作  者Leif160519
出  处https://github.icu/articles/2020/07/14/1594717929042.html
关于博主:坐标南京,运维工程师,如有问题探讨可以直接下方留言。
声援博主:如果您觉得文章对您有帮助,可以评论、订阅、收藏。您的鼓励是博主的最大动力!