从目录和子域重定向到root并保留Google链接

时间:2016-05-19 07:47:09

标签: apache .htaccess redirect

当用户输入这些网址时

  1. example.com/subdir/whatever
  2. subdomain.example.com/whatever
  3. 我想提供这些网址并在地址栏中显示这些网址

    1. example.com/whatever
    2. example.com/subdomain/whatever
    3. 基本上将旧位置的页面重定向到新位置的相同页面,从而保留了数千个Google列表。

      我有1,但它只是将所有内容重定向到主页:

      RewriteRule ^subdir/(.*)$ /$1 [R=302]
      

      我有2个,但它根本不工作。

      RewriteCond %{HTTP_HOST} ^subdomain.example.com
      RewriteRule ^(.*)$ http://www.example.com/subdomain/$1 [R=302]
      

      对于后者,我不完全确定我是否应该杀死子域?

      这是两个wordpress站点的合并,一个先前安装在子目录中,另一个安装在子域中,因此.htaccess中也有WP规则。

      我知道重新定位WP安装的过程,这不是问题。

1 个答案:

答案 0 :(得分:1)

您可以使用以下规则:

# redirect subdomain to /example.com/subdomain
RewriteCond %{HTTP_HOST} ^subdomain\.example\.com
RewriteRule ^(.*)$ http://www.example.com/subdomain/$1 [R=302,L,NE]
# redirect www.domain/subdir/foo to /example.com/foo
RewriteCond %{HTTP_HOST} ^(www\.)?example\.com
RewriteRule ^subdir/(.*)$ http://www.example.com/$1 [R=302,L,NE]