【问题标题】:Redirecting a specific page to another domain将特定页面重定向到另一个域
【发布时间】:2013-08-03 17:50:36
【问题描述】:

我最近在另一个域上创建了一个新站点。我需要将旧域的index.html重定向到新域的索引。

通常这不会有问题,但旧域是服务器的根域,新域是附加的。所以下面这行会导致重定向循环,因为它将a.com/index.htmlb.com/index.html 重定向到b.com/index.html

Redirect 301 /index.html http://b.com/

有没有办法做这样的事情?

Redirect 301 http://a.com/index.html http://b.com/

TL;DR 如何将一个域上的index.html 重定向到另一个域而不会级联并导致循环,因为另一个域是附加域(即在同一文件夹下相同的法则.htaccess)。

【问题讨论】:

    标签: .htaccess mod-rewrite http-status-code-301


    【解决方案1】:

    您可以尝试使用 mod_rewrite 来获得更大的灵活性,代码如下:

    Options +FollowSymlinks -MultiViews
    RewriteEngine on
    
    # for HTTP
    RewriteCond %{HTTP_HOST} ^a\.com$ [NC]
    RewriteCond %{SERVER_PORT} =80
    RewriteRule ^(index\.html)$ http://b.com/$1 [R=301,L,NC]
    
    # for HTTPS
    RewriteCond %{HTTP_HOST} ^a\.com$ [NC]
    RewriteCond %{SERVER_PORT} =443
    RewriteRule ^(index\.html)$ https://b.com/$1 [R=301,L,NC]
    

    【讨论】:

    • 看起来很有希望,尽管我在添加符号链接时遇到了服务器错误。任何想法为什么会这样?感谢您迄今为止的帮助。
    • 您能解释一下您正在创建什么类型的符号链接吗?它是我们在 *nix 系统上的符号链接吗?当您在浏览器中看到服务器错误时,您也可以从您的 error.log 报告相关错误。
    • 我的意思是您示例中的选项行。当包含跟随符号链接选项时,我的服务器就死了,没有有用的错误信息。没有它,什么都不会发生。
    • 您需要确保首先在您的 Apache 配置中启用 .htaccess,否则 Apache 会忽略此代码。
    • 好的,我设法用这个修复它,任何其他被忽略的命令。 RewriteEngine on RewriteCond %{HTTP_HOST} ^a\.co\.uk$ [NC] RewriteRule ^index\.html$ b.co.uk [L]
    【解决方案2】:

    JAVASCRIPT 重定向:

    将此粘贴​​到旧网站页面顶部的<head> 标记之后。

    <script type="text/javascript">
    window.location = "http://www.newsite.com/"
    </script>
    

    当然,您可以将“http://www.newsite.com/”替换为您希望页面重定向到的任何位置。

    它应该会立即重定向您。所以任何访问旧网站页面的人都会立即重定向到 newsite.com

    PHP REDIRECT(301,永久移动):

    <?
    Header( "HTTP/1.1 301 Moved Permanently" ); 
    Header( "Location: http://www.newsite.com/" ); 
    ?>
    

    将其放在页面顶部。它不如 javascript 好,但它是 SEO 友好的,我认为您正在寻找它。

    【讨论】:

    • 是的,我相信这会起作用,但我需要它是一个 301 重定向。
    • 我更新了我的答案,通过使用 php 设置标题来包含搜索引擎友好的重定向方法。
    • 我已经使用 .htaccess 方法,您的第二个答案更接近,但我将 html 文件重定向到 PHP 不会被解析。还是谢谢你。
    猜你喜欢
    • 2019-12-12
    • 1970-01-01
    • 2011-12-21
    • 2018-07-14
    • 2013-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-16
    相关资源
    最近更新 更多