使用.htaccess文件的301重定向是当您希望将一个URL永久重定向到另一个URL时创建的HTTP状态码。
在网站上实现301重定向的原因有很多。
但是你要怎么做呢?为什么要用。htaccess方式呢?
我们已经有了答案。
但在我们进入细节之前,让我们先介绍一下基础知识。
什么是301重定向?
301重定向是URL的永久重定向。
当用户尝试访问已重定向的旧URL时,浏览器会自动将其发送到重定向中指定的新URL。
这对用户很有用,因为它确保了url更改或内容移动时的无缝转换,从而保留了积极的用户体验。
301重定向对搜索引擎很有用。因为它们有助于保持搜索引擎索引的更新。
它们通知搜索引擎内容已被移动,并帮助确保与旧页面相关的可见性和权限被转移到新URL。
是这样的:
欲了解更多信息,请阅读我们的301重定向完整指南。
什么是。htaccess文件?
htaccess文件是一个文本文件,用于配置网站的不同方面。
您可以使用它来重定向URL、修改URL结构、自定义错误页面等等。
使用。htaccess文件是对站点进行重要更改的一种非常简单的方法。
但您必须非常小心,确保正确编辑文件中的规则。因为一个错误可能会给用户带来很多问题。
什么时候应该执行301重定向?
在许多情况下,您可能需要执行301重定向,例如:
您更改了页面的URL,并希望将旧URL重定向到新URL
您将网站迁移到新域名,并希望将所有页面从旧域名重定向到新域名
您将网站从HTTP切换到HTTPS,并希望将所有HTTP请求重定向到HTTPS
您有重复的页面竞争相同的关键字,并希望将它们合并到一个页面
您删除了一个页面,并希望将其重定向到另一个相关页面或主页
使用301重定向来确保被删除页面的流量最终到达相关页面,从而最大限度地减少如下错误信息:
但是,实现重定向有不同的方法,例如使用服务器端代码、JavaScript或.htaccess文件。
每种方法都有自己的优点和缺点,这取决于您的需求和偏好。
但是执行301重定向的最常见和最有效的方法之一是使用。htaccess文件。
使用。htaccess文件进行301重定向有一些好处:
它可以使用正则表达式处理复杂的重定向模式
它既可以用于单个页面,也可以用于整个目录
它适用于您网站上的任何类型的文件或资源
如何建立一个301重定向与。htaccess文件
根据您使用的服务器,执行301重定向的方式不同。.htaccess方法通常用于Apache服务器。
如何设置301重定向与。htaccess文件在Apache
在执行任何操作之前,您需要找到RewriteEngine,它允许您编辑规则。您可以在Apache的mod_rewrite模块中找到它。
使用以下代码加载它:
< IfModule mod_rewrite.c >
RewriteEngine上
< / IfModule >
然后你可以在“RewriteEngine On”下面添加所有规则。您添加的规则将取决于您想要重定向的内容。
重定向单个URL
当重定向单个URL时,你所要做的就是在“RewriteEngine On”行下添加以下重定向规则:
重定向301 /old-page/ https://www.yourdomain.com/new-page/
确保将url替换为站点上的实际url。
规则的第一部分应该提到URL路径,以斜杠开头。而规则的第二部分应该提到绝对(或完整)URL。
如果您是高级用户,还可以使用正则表达式重定向url。RedirectMatch 301规则支持正则表达式。
查看Apache的官方文档了解更多细节。
重定向单个文件夹
当将单个文件夹重定向到新位置时,您将使用以下重定向规则:
rewriterrule ^/?blog/(.\*)$ /news/$1 [R,L]
我们用“blog”和“news”作为例子。在这种情况下,整个blog子文件夹将被重定向到“news”子文件夹。
当在您的网站上实现此重定向时,请确保使用实际的网站文件夹名称。
使用301 .htaccess重定向将WWW重定向到非WWW url
也许你想实现重定向,因为你不想使用www子域名。
如果是这种情况,您需要重定向到非www版本。下面是你可以使用的重定向规则:
rewritecsecond %{HTTP_HOST} ^www.yourdomain.com [NC]
rewriterrule (.*) https://yourdomain.com/$1 [L,R=301]
确保将“yourdomain”替换为您的实际域名。
如何设置301重定向与。htaccess文件在WordPress
要在WordPress中使用。htaccess文件进行301重定向,你需要遵循以下步骤:
通过点击cPanel或FTP客户端的“文件管理器”来访问您的站点文件。在本例中,我们将使用Bluehost。
在站点的根文件夹中查找.htaccess文件。
找到.htaccess文件后,右键单击并选择“编辑”。
在“RewriteEngine On”行下添加重定向规则。
当然,您使用的重定向规则将取决于您想重定向的内容。
重定向单个页面
要重定向单个页面URL,您需要添加以下规则:
重定向301 /old-page/ https://www.yourdomain.com/new-page/
确保将“/old-page/”和“https://www.yourdomain.com/new-page/”替换为站点上的真实url。
对于规则的第一部分,您可以只提到URL路径。但是对于第二部分,您必须指定完整的URL。
将旧域重定向到新域
要将旧域名重定向到新域名,请使用以下代码:
RewriteCond % {HTTP_HOST} ^ (?: www \) oldsite \ com (NC)美元
rewriterrule ^https://newsite.com%{REQUEST_URI} [L,R=301]
确保在重定向规则中使用实际的旧域名和新域名。
如何识别和修复重定向问题
为了确保你的重定向执行正确,没有问题,考虑使用Semrush的网站审计工具审计你的网站。
该工具可以快速发现您的网站在重定向方面可能存在的任何问题。比如重定向链和循环。这样你就能尽快修好了。首先,打开站点审计工具。
输入您的域名,然后点击“开始审计”。
然后弹出“站点审计设置”窗口。
从这里开始,配置基本的审计设置。然后,单击“启动站点审计”。
审计完成后,转到“问题”选项卡并搜索“重定向”。该工具将显示您的网站是否有任何重定向相关的问题。
您可以点击“X重定向链和循环”来查看导致问题的确切url。
然后,点击“为什么以及如何修复它”链接来了解如何解决这个问题。
关注重定向问题
如果您经常使用.htaccess文件实现301重定向,那么最好在Site Audit工具中安排定期审计。
当你在你的网站上实现更多的重定向时,这将提醒你任何可能出现的新问题。
在Site Audit“Overview”选项卡中,单击位于右下角的齿轮图标。
然后向下滚动到审计设置并单击“Schedule”。
您可以安排每日或每周的审计。选择最适合您需求和偏好的选项。然后点击“保存”。
现在,该工具将定期扫描您的网站重定向问题。一旦出现问题就尽快解决。