【问题标题】:redirect old links (HTML site) to a new page (PHP site)将旧链接(HTML 站点)重定向到新页面(PHP 站点)
【发布时间】:2013-10-25 20:18:51
【问题描述】:

最近我用 php 建立了一个网站,但他们拥有的旧网站都是 HTML。所以现在我不知道用 .htaccess 将所有旧链接重定向到新站点的最佳方法是什么(也许将所有带有 HTML 的链接重定向到主域),最佳做法是什么?

这是我尝试过的,但该网站对许多重定向循环说:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.de
RewriteRule (.*) http://www.example.de/$1 [R=301,L]
RedirectMatch "\.html$" http://www.example.de 

所以我们首先将所有非www的链接重定向到www,然后当页面有.html结尾时重定向到主站点。

【问题讨论】:

  • 不确定我是否正确理解您的问题 - 但可能使用 URL 重写 - 然后您可以将所有 .html 链接到新的 .php 文件

标签: .htaccess redirect http-status-code-301


【解决方案1】:

选项 1:将所有旧的 .htmllink 重定向到新网站的 /

RewriteEngine On

RewriteRule \.html$ / [L,R=301,NC]

选项 2:如果 .html 文件名和 .php 文件名相同,则将所有旧的 .htmllink 重定向到新站点的 .php /

RewriteEngine On

RewriteRule ^(.+?)\.html$ /$1.php [L,R=301,NC]

【讨论】:

    【解决方案2】:

    视情况而定,如果你需要指向一个新域,从旧域添加一个域指针指向新域,这将在处理重定向的服务器中解决,这是最有效的方法。

    这将比 .htaccess 更好地工作,因为它更快并且不会导致第二次初始页面加载(由于重定向)。

    如果你没有访问服务器或域指针的权限,如果 php 在旧服务器上运行,你可以将 index.html 设为 index.php 文件,从这里简单地说:

    header('Location: http://www.newdomain.com/');
    

    这将自动重定向。

    希望这对您有所帮助。

    ‐席德

    【讨论】:

    • 它在同一个服务器上,但是旧站点的所有页面都是html的,所以我不能在它们上面放置php标签。
    • 为什么不把新建的PHP网站放到当前网站所在的目录下呢?保存重定向。
    • 是的,它在同一个目录中,但旧链接都在 .html 中,新链接在 .php 中(与旧结构不同),所以现在我要删除那些旧 html文件用户和搜索引擎将收到 404 错误
    • 您首先要做的是将所有 .html 链接替换为 .php 链接。之后,您将测试一切是否正常。如果是这种情况,请删除旧的 HTML 网站并实施新的。
    猜你喜欢
    • 2010-11-28
    • 1970-01-01
    • 2016-06-07
    • 2017-07-25
    • 2017-01-08
    • 1970-01-01
    • 2019-07-03
    • 2015-04-06
    • 1970-01-01
    相关资源
    最近更新 更多