忽略htaccess中的所有文件夹

时间:2014-12-04 03:14:04

标签: apache .htaccess mod-rewrite

我有许多文件夹是其他域名,换句话说,是主域名中的多个域名。

主域位于/public_html文件夹中,但重定向到文件夹/foo

使用某个附加域的文件夹写主域时是否可以访问?

示例:

使用以下文件夹:

/public_html (main domain) |__ .htaccess |__ /foo (redirects) |__ /bar (additional domain) |__ /foobar (additional domain) |__ /asd (additional domain) |__ ...

  • http://www.foo.com重定向到/foo
  • http://www.foo.com/bar不应该访问文件夹/bar,正确的是/foo/bar

2 个答案:

答案 0 :(得分:1)

这里可以有两种情况。

场景1:如果/bar/中没有.htaccess,那么您可以在root .htaccess中添加此规则:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^(www\.)?foo\.com$ [NC]
RewriteRule ^((?!foo/).*)$ /foo/$1 [L,NC]

场景2:如果/bar/中有.htaccess,那么您可以在/bar/.htaccess中添加此规则:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^(www\.)?foo\.com$ [NC]
RewriteRule ^(.*)$ /foo/$1 [L,NC]

答案 1 :(得分:0)

试试这个:

RewriteCond %{HTTP_HOST} ^www.foo.com$
RewriteCond %{REQUEST_URI} !^/bar/
RewriteRule ^(.*)$ /bar/$1