.htaccess只在某些情况下重定向

时间:2012-06-24 23:51:14

标签: .htaccess redirect

在这些情况下,我需要重定向到www.domain.com/go404:

  

www.domain.com

     

www.domain.com/

     

domain.com

     

domain.com /

但不是,当他们打字时(我已经覆盖了)

   www.domain.com/subdomain or
   domain.com/subdomain

目前,我的.htaccess代码有以下代码段:

 # This sends "just domain" visits to 404
 RewriteCond %{HTTP_HOST} ^domain.com$ [NC] 
 RewriteRule ^(.*)$ http://www.domain.com/go404 [R=301,L]

 # This one makes a NON WWW become a WWW
 RewriteCond %{HTTP_HOST} ^domain.com$ [NC] 
 RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]

 # This strips the trailing slash
 RewriteRule ^(.*)\/(\?.*)?$ $1$2 [R=301,L]

任何人都可以告诉我如何设置条件,因此它只允许在没有尾部斜杠和/或子文件夹字符串的情况下编写域名吗?如上所述,那些应该重定向到404。

1 个答案:

答案 0 :(得分:0)

这些规则可以满足您的需求:

 RewriteCond %{HTTP_HOST} ^domain.com$ [NC] 
 RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]

 RewriteCond %{HTTP_HOST} ^www.domain.com$ [NC] 
 RewriteRule ^$ go404 [R=301,L]