25
2024
09
17:38:28

网站修改.htaccess文件实现301重定向方法整理汇总

HTTP超文本传输协议 )是万维网WWW )上数据通信的基本协议; 通常在Web浏览器和存储Web文件的服务器之间。 而HTTPS是HTTP的安全版本,其中“ S ”端代表“ Secure ”。

使用HTTPS ,您的浏览器和Web服务器之间的所有数据都是加密的,因此是安全的。 本教程将向您展示如何在Linux中将HTTP重定向到Apache HTTP服务器上的HTTPS

在为您的域设置Apache HTTPHTTPS重定向之前,请确保已安装SSL证书并在Apache中启用mod_rewrite 。 有关如何在Apache上设置SSL的更多信息,请参阅以下指南。

  1. 如何为Apache创建自签名的SSL证书和密钥

  2. 如何安装我们在CentOS / RHEL上加密SSL证书7

  3. 如何安装我们在Debian / Ubuntu上加密SSL证书

使用.htaccess文件将HTTP重定向到Apache上的HTTPS

对于这种方法,确保启用了mod_rewrite ,否则在Ubuntu / Debian系统上启用它。

代码语言:javascript
复制
$ sudo a2enmod rewrite	[Ubuntu/Debian]

对于CentOS / RHEL用户,请确保您在httpd.confmod_rewrite支持 - 默认情况下启用)中具有以下一行。

代码语言:javascript
复制
LoadModule rewrite_module modules/mod_rewrite.so

现在您只需要在您的域根目录中编辑或创建.htaccess文件,并添加这些行将http重定向到https。

代码语言:javascript
复制
RewriteEngine On 
RewriteCond %{HTTPS}  !=on 
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

现在,当访问者输入http://www.yourdomain.com ,服务器将自动将HTTP重定向到HTTPS https://www.yourdomain.com

将HTTP重定向到Apache虚拟主机上的HTTPS

另外,要强制所有Web流量使用HTTPS ,您还可以配置虚拟主机文件。 通常,启用SSL证书时,虚拟主机配置有两个重要部分; 第一个包含非安全端口80的配置

第二个是安全端口443 。 要将HTTP重定向到您网站所有页面的HTTPS,首先打开相应的虚拟主机文件。 然后通过添加以下配置进行修改。

代码语言:javascript
复制
NameVirtualHost *:80<VirtualHost *:80>ServerName www.yourdomain.com
Redirect / https://www.yourdomain.com</VirtualHost><VirtualHost _default_:443>ServerName www.yourdomain.com
DocumentRoot /usr/local/apache2/htdocs
SSLEngine On
# etc...</VirtualHost>

保存并关闭文件,然后重新启动HTTP服务器。

代码语言:javascript
复制
$ sudo systemctl restart apache2     [Ubuntu/Debian]$ sudo systemctl restart httpd	     [RHEL/CentOS]

虽然<VirtualHost>是最推荐的解决方案,因为它更简单和安全。






网站进行301重定向对广大站长来说并不陌生,处于SEO、PR值传递等都会对网站设置301跳转,通常我们做301重定向都是修改网站根目录下.htaccess文件,下面就修改.htaccess文件实现301重定向方法为大家进行介绍。


修改.htaccess文件实现301重定向方法有以下几点:

1、重定向idcspy.com到www.idcspy.com

这是最常见的重定向方法,其目的是为了实现域名的唯一性,这是网站优化必须做的。其操作方法是在.htaccess文件中加入以下规则;

  RewriteEngine On RewriteCond %{HTTP_HOST} !^www.idcspy.com$ [NC] RewriteRule ^(.*)$ https://www.idcspy.com/$1 [L,R=301]

2、重定向www.idcspy.com到idcspy.com

该重定向刚好与上面的相反,在.htaccess文件中加入规则如下;

  RewriteEngine On RewriteCond %{HTTP_HOST} !^idcspy.com$ [NC] RewriteRule ^(.*)$ http://idcspy.com/$1 [L,R=301]

3、重定向olddomain.com 到 newdomain.com

由于公司的发展可能需要对网站的域名进行更换,此时就需要将老的域名重定向到新的域名中去,在.htaccess文件操作如下;

  RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} !olddomain.com$ [NC] RewriteRule ^(.*)$ http://newdomain.com/$1 [L,R=301]

4、重定向olddomain.com 到 www.newdomain.com

这个只需要在第三种重定向中进行相应的改良就可以

  RewriteEngine On RewriteCond %{HTTP_HOST} !olddomain.com$ [NC] RewriteRule ^(.*)$ http://www.newdomain.com/$1 [L,R=301]

5、重定向domain.com/file/file.php 到 otherdomain.com/otherfile/other.php

这种是对在更改网站域名的同时,网站目录路径也发生变化的情况下使用,在.htaccess文件中操作如下;

  RewriteCond %{HTTP_HOST} ^www.domain.com$ RewriteRule ^file/file.php$ http://www.otherdomain.com/otherfile/other.php [R=301,L]

6、在Apache服务器实现301重定向

在Apache服务器实现301重定向只需要在.htaccess文件中加入以下规则就可以了,格式是旧目录/旧文档名 新文档的地址;

  Redirect /olddirectory https://www.idcspy.com/newdirectory

修改.htaccess文件实现301重定向方法基本上就是这些,用户可以更具自己的需求选择合适的方法进行修改。




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://hqyman.cn/post/8064.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: