×

服务器配置指南:分享一些设置301重定向的方法

作者:Terry2022.04.18来源:Web前端之家浏览:3510评论:0
关键词:301重定向

500.jpg

接着上篇文章继续分享,回忆下上篇文章分享的内容:深入了解“301重定向”的基础知识以及在站内SEO优化的应用

文中讲到了SEO的301重定向问题,但是没提到如何设置301。今天我们就教大家如何设置重定向301。

实现 301 重定向的方法很多,但是最常用的是编辑你网站的 .htaccess 文件。

你可以在网站的根目标找到这个文件:

image.png

没有找到这个文件?有以下两种可能:

  1. 你的网站没有 .htaccess 文件。你可以使用 Notepad(在 Windows 平台)或 TextEdit(Mac 平台)创建该文件。只需要新建一个文件并将其保存为 .htaccess 即可。记得要移除标准的 .txt 文件扩展名。

  2. 你的网站并非运行在 Apache 网站服务器上。这有点技术性,但是网站服务器有许多种。Apache,Windows/IIS 和 Nginx 是最常见的几种。这其中只有 Apache 服务器使用 .htaccess 文件。若要检查网站是否运行在 Apache 服务器上,请询问你的主机托管。

这里有一些在 .htaccess 文件中实现 301 重定向的代码片段:

重要提示。这些指引仅仅适用于 Apache 网站服务器。如果你的网站运行在 Nginx 环境,可以看看这里【https://bjornjohansen.no/nginx-redirect】,如果是 Windows/IIS,请查看【https://www.bowlerhat.co.uk/301-redirects-for-seo-from-windows-server-iis】。

将旧页面重定向到新页面

Redirect 301 /old-page.html /new-page.html

在使用 WordPress?使用免费的 Redirection 插件【https://wordpress.org/plugins/redirection/】就可以不用编辑 .htaccess 文件啦。

使用这款插件,添加一个 301 重定向会非常简单,就像下图这样:

image.png

将旧域名指向新域名

RewriteEngine on    
RewriteCond %{HTTP_HOST} ^oldsite.com [NC,OR]    
RewriteCond %{HTTP_HOST} ^www.oldsite.com [NC]    
RewriteRule ^(.*)$ https://newsite.com/$1 [L,R=301,NC]
小提示.

 实现 301 重定向的方法有很多,我决计不是 Apache 服务器和 htaccess 文件方面的专家。这里展示的代码都是我屡试不爽的。在向你的网站实装这些代码前,一定要记得测试。

重要提示! 如果你的 .htaccess 已经包含了RewriteEngine on代码片段,那就不要重复了。只需要复制粘贴剩下的代码即可。当然在 Cpanel 中也可以执行这样的操作,这种做法可能更受欢迎。

将整个域名由不包含 www 的版本(non-www)重定向到带 www 的版本(www)

从 non-www 到 www:

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

从 www 到 non-www:

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

重要提示!.htaccess 文件中的代码布局和顺序同样会有影响。当多个(向浏览器发出的)指令的排列顺序“错误”(如:重定向链等)时,你可能会遭遇副作用。如果你打算在 htaccess 文件中实现多个 301 重定向,不妨深入研究一下 .htaccess 文件。

将网站域名由 HTTP 重定向到 HTTPS

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

重要提示!要实现上述重定向,你的网站必须已经装有 SSL 证书,否则你会收到“不安全”(”Not secure”)证书的信息。

将网站域名由 HTTP 重定向到 HTTPS,将网站的 non-www 版本重定向到 www 版本

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

总结

上面只是介绍了几种方法,当然还有很多,如果您不会code,也还可以使用宝塔等控制面板,轻松搞定的。如果您有任何疑问,都可以加Q群或者留言给我们。

您的支持是我们创作的动力!
温馨提示:本文作者系Terry ,经Web前端之家编辑修改或补充,转载请注明出处和本文链接:
https://jiangweishan.com/article/setdirect20220418.html

网友评论文明上网理性发言 已有0人参与

发表评论: