mod_rewrite将主机重定向到另一个文件夹

时间:2012-01-20 18:57:59

标签: apache mod-rewrite

我有一些域都重定向到同一个文件夹(我的public_html)。我想写一个.htaccess文件,将每个域发送到它自己的文件夹(因此不会在导航栏上显示)。 例如,导航到http://example.com会加载我服务器的文件夹/public_html/example.com/

在另一个上下文中,我使用了这段代码:

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

但现在我不想重定向到另一个域;我只想从不同的文件夹中获取文件......

可以实现吗?提前谢谢。

1 个答案:

答案 0 :(得分:0)

替换你所拥有的:

RewriteCond %{REQUEST_URI} !^/%{HTTP_HOST}/ [NC]
RewriteRule ^(.*)$ /%{HTTP_HOST}/$1  [L]

对于显式主机重定向:

RewriteCond %{HTTP_HOST} example\.com [NC]
RewriteCond %{REQUEST_URI} !^/example.com/
RewriteRule ^(.*)$ /example.com/$1  [L]

RewriteCond %{HTTP_HOST} otherexample\.com [NC]
RewriteCond %{REQUEST_URI} !^/abc/otherexample.com/public_html
RewriteRule ^(.*)$ /abc/otherexample.com/public_html/$1  [L]