我应该使用哪个.htaccess文件进行301重定向?

时间:2012-10-13 22:26:28

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

这是我似乎无法回答的超简单问题之一,所以请提前道歉。

当我进入我的(共享)服务器时,我有一个这样的文件结构:

  • 根(/)

    • /的public_html
        • /newdomain.com

  • 我有一个旧网站,住在/ public_html,它有大量的内容和优秀的搜索引擎优化。我们更改了我们的名称和域名(位于/ newdomain.com,/ public_html中的文件夹),并将所有旧内容的301重定向设置为新网站。

    我自己尝试过这样做,但它根本不起作用,所以我得到了主持人的技术支持来为我做。虽然我的服务器上有几个.htaccess文件,但我不知道哪些文件实际有效,哪些不是。

  • Root有自己的.htaccess文件
  • public_html有自己的.htaccess文件
  • /newdomain.com没有自己的.htaccess文件

重定向1 (目前同时包含root和public_html的.htaccess文件,工作

我想重定向http://olddomain.com/whatever - > http://newdomain.com/whatever(我目前每个页面都有自己独立的301而不是单一的规则)。通过Redirect 301 /article-name-here/ http://www.newsite.com/article-name-here/

实现

重定向2 (目前同时包含root和public_html的.htaccess文件,无效)。

我还想对http://newdomain.com/oldpage.html进行一些内部重定向 - > http://newdomain.com/newpage.html。我已经尝试过重定向public_html的.htaccess文件,如下所示:

Redirect 301 http://newsite.com/badpage.html http://newsite.com/goodpage.html

但它不起作用。我是否需要在服务器上的newsite.com文件夹中设置新的.htaccess?或者我在这里完全错过了标记?

1 个答案:

答案 0 :(得分:2)

  

重定向1

要重定向所有内容,只需删除文章名称:

Redirect 301 / http://www.newsite.com/

或者如果您想要重定向根(即/的请求),那么:

RedirectMatch 301 ^/(.+)$ http://www.newsite.com/$1
  

重定向2

如果/newdomain目录是http://newdomain.com/的文档根目录,那么您需要在那里创建一个新的htaccess文件并包含:

Redirect 301 /badpage.html /goodpage.html