首页 > 解决方案 > 需要将丢失的 URL 重定向到新主机

问题描述

我正在将博客从一个站点移动到另一个站点并重新利用原始站点。我想维护指向该站点的所有现有链接,并希望保持 SEO 页面排名。

旧网址: http: //www.companyabc.com/2010/04/test.html

新网址: http: //blog.companyabc.com/2010/04/test.html

我想这样做的方法是在 www.companyabc.com 上使用自定义 404 错误页面,如下所示:

<html><meta http-equiv="REFRESH" content="0;url=http://blog.companyabc.com/%1"></html>

其中%1是原始 URI (/2010/04/test.html),但我不知道这是否可能。

另一种选择是使用 .htaccess 文件,如果找不到 URL,则该文件会重定向,但我也没有让它工作。我确定我在重写条件下做错了什么:

RewriteEngine On
RewriteCond %{REQUEST_URI} !-l
RewriteRule ^(.*)\.html$ https://blog.companyabc.com/$1.html [R=301,L]

有什么建议么?谢谢您的帮助。

标签: html.htaccessurlredirecturi

解决方案


我使用以下 .htaccess 配置让它工作:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ http://blog.companyabc.com/$1 [R=301,L]

我从未尝试过 REQUEST_FILENAME 值,因为我错误地认为它仅适用于可以从网站下载的文件。我没有意识到它也适用于博客中的 .html 文件。

使用此解决方案,www.companyabc.com 上不存在的所有 URL 都将被重定向到 blog.companyabc.com,而不是显示 404 错误页面,这正是我正在寻找的。


推荐阅读