文章目录[隐藏]
什么是 301 重定向
301 重定向是一种永久重定向,当原始页面不再存在时,它将用户(和搜索引擎)跳转到新的 URL。
当页面被删除时,用户在访问原始 URL 时都会看到 404 页面。这样使用户体验很差,但是,如果您设置了 301 重定向,那么访问旧 URL 的任何人都将重定向到新 URL,并且搜索引擎将随着时间的推移更新其索引中的页面。
301 vs.302 重定向
什么时候应该使用 301 重定向?
永久将页面移至新 URL
从 https://www.website.com/old-page-name / 到 https://www.website.com/new-page-name/
301 重定向将确保用户被重定向到新 URL,并且搜索引擎会为新页面建立索引并保持所有排名。
删除网站页面
关于从网站上删除页面时最佳做法,不同的人有不同的意见。
是应该 301 重定向到另一个 URL,还是应该让它跳转 404 页面?
这得看情况。
要删除的页面在您网站的其他位置是否具有几乎等同的位置。如果用户单击原始 URL,将重定向到该用户是否有意义?
如果答案是肯定的,则最好的选择是实施 301 重定向。
另一方面,如果答案是否定的,那么可以选择 404 页面。
将网站迁移到新域
从 https://www.website.com 到 https://www.newwebsite.com
由于某些原因之一,有时需要更改其域名。从一个域名迁移到另一个域名时,需要进行 301 重定向。
改变网站结构
从 https://www.website.com/old-category/post / 到 https://www.website.com/new-category/post/
需要更改网站的结构,以提高整体 SEO 性能,并使内容分类更加容易。
从非 WWW URL 到 WWW URL(或解决重复问题)
从 https://website.com 到 https://www.website.com
网站都可以使用非 www 和 www URL 进行访问,则应根据您的喜好使用 301 从另一个重定向到另一个 URL 来消除重复问题。
从 HTTP 切换到 HTTPS
从 http://www.website.com 到 https://www.website.com
目前仍在使用 HTTPS 协议的网站只有 60% ,这显然意味着有是还没有作出改变尚未 40%。如果您要将网址从 HTTP 切换到 HTTPS,则需要使用 301 重定向来确保搜索引擎可以正确的索引。
合并两个(或多个)域
从 https://www.website.de 到 https://www.website.com/de/
假设您将多个域名合并到. com 的主域中,这需要与更改其他域名的重定向。
解决 “尾随斜线” 问题
从 https://www.website.com/page-name 到 https://www.website.com/page-name/
您是否知道 URL 的变体实际上带有不同的页面,并且会被搜索引擎认为是不同的页面。需要确保您的网站使用一致的方法来处理页面 URL 上的尾部斜杠。
解决 “大写与小写” 问题
从 https://www.website.com/Page-Name / 到 https://www.website.com/page-name/
就像 URL 的尾部斜杠和非尾部斜杠变体被视为不同的页面一样,包含大写和小写字母的不同版本也是如此。
同样,即使 URL 中只有一个大写字母,也意味着该页面被视为与其小写字母不同的页面,并且可以被视为重复页面,并且在此处最好使用 301 重定向来解决对不同变体进行索引的问题。
请使用小写字母,不要混用大写字母和小写字母。
如何进行 301 重定向
Apache 服务器上的 301 重定向
如果您的站点在 Apache 服务器上运行,则需要编辑站点的. htaccess 文件以实现重定向。如果不确定,通过 FTP 客户端进入站点的根目录可以快速帮助您确定实现 301 所需的方式。如果您看到. htaccess 文件,它将运行 Apache。
重定向单页
Redirect 301 /old-page/ /new-page
将整个域重定向到另一个
Redirect 301 / https://www.newwebsite.com
将整个站点重定向到子文件夹
Redirect 301 / https://www.website.com/subfolder
将子文件夹重定向到其他域
Redirect 301 /subfolder https://www.nnewwebsite.com
URL 更改后重定向网站目录
Options +FollowSymLinks RewriteEngine On RewriteRule ^(.*)/old-category/(.*)$ $1/new-category/$2 [R,L
从非 WWW 重定向到 WWW
RewriteEngine on RewriteBase / rewritecond %{http_host} ^website.com [nc] rewriterule ^(.*)$ http://www.website.com/$1 [r=301,nc
从 HTTP 重定向到 HTTPS
RewriteEngine on RewriteCond %{HTTPS} on RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI
重定向到斜杠 URL
RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !(.*)/$ RewriteRule ^(.*)$ http://www.website.com/$1/ [R=301,L
Nginx 上的 301 重定向
要在 Nginx 上创建永久的 301 重定向,您需要向. conf 文件中添加一行,该行通常位于服务器的根目录中。
重定向单页
server { # Permanent redirect to an individual page rewrite ^/old-page$ http://www.website.com/new-page permanent; }
将整个域重定向到另一个
server { # Permanent redirect to new URL server_name website.com; rewrite ^/(.*)$ http://newwebsite.com/$1 permanent; }
从 HTTP 重定向到 HTTPS
server { listen 80; server_name website.com www.website.com; return 301 https://website.com$request_uri; }
从非 WWW 重定向到 WWW
server {
# Permanent redirect to www
server_name website.com;
rewrite ^/(.*)$ http://www.website.com/$1 permanent;
}