URL重定向(Redirection),也称URL跳转、URL转发。这是一项技术SEO内容,通过设置一个URL地址自动重定向到另一个URL地址,来实现网站优化目标。
小Tip:URL和链接是两个不同的概念。URL是统一资源定位符,用于标识互联网上的资源位置;链接是通过URL创建的可点击的跳转连接,是超链接的简称。当用户点击一个链接时,允许你跳转到一个新的位置,这个位置即URL。
URL重定向类型
可以大概分为3类:永久重定向、临时重定向、特殊重定向。
永久重定向
服务器返回301等状态码,告诉浏览器该URL已永久移动到另一个位置,原URL不应再使用。
临时重定向
服务器返回302等状态码,告诉浏览器该URL暂时移动到另一个位置。此时搜索引擎和其它爬虫不会记录新的、临时的 URL。
特殊重定向
服务器返回其他类型的状态码,如300或304,指示浏览器以特定方式处理重定向。
正则表达式重定向
使用正则表达式来匹配和重定向URL。通过在服务器端配置正则表达式规则,可以根据URL的特定模式或格式来进行重定向操作。
再简单点说,就是普通的重定向是添加一个源URL,指向一个目标URL。在有些情况下我们想要“批量”:多个源重定向到目标,这个时候可以使用正则表达式重定向方式
Yoast SEO知识库示例
来源:Yoast SEO截图
知识库解释:
-
如果用户来到 example.com/rain,将被重定向到 mydomain.com/sunny/,就像使用普通重定向一样
-
但是,example.com/in-the-rain 或 example.com/draining 也是如此。两者都将被重定向到 example.com/sunny/
-
如果网站的 URL 包含 /rainy-holidays/ 后跟任何小写字符、数字或 – 并以 / 结尾,则第二行会将用户重定向到 /sunny-holidays/。因此,/rainy-holidays/london/ 将被重定向,而 /rainy-holidays/buda+pest/ 不会
正则表达式重定向方法可以实现更灵活和精确的URL重定向,适用于需要对多个URL进行统一处理的情况,或者需要根据URL的特定规则来进行重定向的场景。通过正则表达式重定向,可以实现更高级和个性化的URL管理和重定向策略。
PHP重定向和Web服务器重定向
这是两种常见的重定向方式。
PHP重定向
PHP重定向是通过在PHP脚本中使用header函数来实现的,通常使用header(“Location: newurl”)来将用户重定向到新的URL。
PHP重定向适用于需要在PHP脚本执行过程中动态地进行重定向的情况,例如表单提交后的重定向、登录验证后的重定向等。
PHP重定向可以根据具体逻辑条件来决定重定向的目标URL,具有较高的灵活性和可控性。
Web服务器重定向
Web服务器重定向是通过在Web服务器配置文件中设置重定向规则来实现的,常见的有使用.htaccess文件进行重定向。
Web服务器重定向适用于需要在服务器层面对URL进行统一管理和重定向的情况,例如网站整体架构变动、URL规范化等。
Web服务器重定向可以提高网站性能,减轻服务器负担,但对于动态和个性化的重定向需求可能不够灵活。
方式比较
-
PHP重定向适用于动态、个性化的重定向需求,灵活性高,但可能增加服务器负担
-
Web服务器重定向适用于统一管理、大范围的URL重定向需求,性能较好,但灵活性相对较低
选择使用哪种重定向方式取决于具体的需求和场景,通常可以根据重定向的复杂度和灵活性要求来进行选择。