接着上篇文章继续分享,回忆下上篇文章分享的内容:深入了解“301重定向”的基础知识以及在站内SEO优化的应用。
文中讲到了SEO的301重定向问题,但是没提到如何设置301。今天我们就教大家如何设置重定向301。
实现 301 重定向的方法很多,但是最常用的是编辑你网站的 .htaccess 文件。
你可以在网站的根目标找到这个文件:
没有找到这个文件?有以下两种可能:
你的网站没有 .htaccess 文件。你可以使用 Notepad(在 Windows 平台)或 TextEdit(Mac 平台)创建该文件。只需要新建一个文件并将其保存为 .htaccess 即可。记得要移除标准的 .txt 文件扩展名。
你的网站并非运行在 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 重定向会非常简单,就像下图这样:
将旧域名指向新域名
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群或者留言给我们。
网友评论文明上网理性发言 已有0人参与
发表评论: