我如何使用htaccess仅重定向root?

时间:2011-12-06 22:00:27

标签: apache .htaccess

我目前有一个需要保持机智的子域名:www.sub.domain.com

我还在www.domain.com/blog上有一个子目录,需要保持原状

这是一个恼人的设置,因为我使用的是shopify,它是使用CNAMES托管的第三方。我的商店在shop.domain.com上,我的博客在domain.com/blog上

我想仅重定向root / domain.com(包括www和非www),但如果它们落在/(例如博客文章)之后的任何内容上则不会。它将重定向到子域。

这就是我目前的

ErrorDocument 404 /index.html
RewriteEngine on
rewritecond %{http_host} ^domain.com [nc]
rewriterule ^(.*)$ http://www.domain.com/$1 [r=301,nc]

3 个答案:

答案 0 :(得分:4)

这个怎么样?

RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com [NC]
RewriteRule ^$ <wherever you want to send the redirect> [NC,R=301]

答案 1 :(得分:0)

我有同样的问题,这个htaccess代码对我有用     RewriteEngine On

RewriteCond %{HTTP_HOST} ^sub\.domain\.com [NC] #root
RewriteRule ^$ http://www.newsite.com/news-trends/ [NC,R=301]
RewriteCond %{HTTP_HOST} ^sub\.domain\.com$ [NC]  #else
RewriteRule ^(.*) http://www.newsite.com/blog/$1 [L,R]

答案 2 :(得分:0)

这应该去!

# First we turn the rewriting engine on
RewriteEngine on

# Then we check if the host is the right one
RewriteCond %{HTTP_HOST} (www\.)?domain\.com [NC]

# Then we make sure only the home page is considered
RewriteCond %{REQUEST_URI} ^/$

# Then we redirect wherever we want!
Rewriterule ^(.*)$ http://othersite.com/ [L,R=301]