【问题标题】:I need to find the proper 301 redirect我需要找到正确的 301 重定向
【发布时间】:2014-05-31 13:53:11
【问题描述】:

我遇到了 301 重定向问题。我尝试了一些,但它们没有按我的需要工作。

我有一个不再存在的旧网站,我想将整个域转发到我新网站上的登录页面。

所以当有人输入 www.olddomain.com 时,我希望他们访问 www.newdomain.com/landingpage.php

问题是我希望旧域上的所有请求都转到该登录页面。目前我通过 GoDaddy 转发域,当有人(或谷歌)输入 www.olddomain.com/whateverpage.htm 或将其转发到 www.newdomain.com/landingpage.php/whateverpage.htm

这会导致 Google 索引出现问题。

所以我需要一个重定向,它将 www.olddomain.com/ 上任何页面的所有请求发送到 www.newdomain.com/landingpage.php

我应该使用什么?

【问题讨论】:

    标签: regex apache .htaccess mod-rewrite redirect


    【解决方案1】:

    您可以在旧站点的 DocumentRoot 上使用此规则:

    RewriteEngine On
    
    RewriteRule ^ http://newdomain.com/landingpage.php? [R=301,L] 
    

    【讨论】:

    • 一开始这不起作用,但后来我在landingpage.php之后把/取出来了,它起作用了。现在它说: RewriteRule ^ newdomain.com/landingpage.php? [R=301,L] - 可以吗?
    【解决方案2】:

    假设您使用的是 LAMP 堆栈(Linux 服务器、MySQL、PHP),您可以在 .htaccess 文件中使用重写规则来捕获对 www.newdomain.com/landingpage.php* 的所有请求并将它们重定向回登录页面.php。如果您在 Windows 服务器上托管,则可以使用 IIS 中的 URL 重写模块(可以导入 .htaccess 规则)执行这些重定向规则。

    【讨论】:

    • 我的网站使用 Linux 软件选项托管在 GoDaddy 上。所以我认为 .htaccess 文件中的重定向是最好的方法。问题是我尝试过的重定向没有像我需要的那样工作。这就是导致我在第一篇文章中提到的问题的原因。
    • 是的!为了不让你走上一条坏路,你正在寻找重写规则。这里有一个参考来帮助你:kb.mediatemple.net/questions/85/…
    • 我对此感到不知所措。这行得通吗?选项 +FollowSymLinks RewriteEngine On RewriteRule ^.*$ newdomain.com/landingpage.php [R=301,L]
    猜你喜欢
    • 2014-01-12
    • 2016-05-05
    • 2012-01-21
    • 2018-03-06
    • 2017-10-08
    • 2012-08-18
    • 1970-01-01
    • 2011-07-03
    • 1970-01-01
    相关资源
    最近更新 更多