Apache mod_rewrite规则仅显示基于域的特定文件夹

时间:2011-07-04 23:01:27

标签: apache mod-rewrite

我想创建一个apache重写规则,它只会根据使用的域名显示一个子文件夹。

上下文: domain.com和domain2.com指向同一个文件夹。

情况: 访问www.domain.com/domain.com/myfile.jpg会有效,而www.domain2.com/domain.com/myfile.jpg会返回404错误。

我相信mod_rewrite可以帮助我实现这一目标。 任何指示都将受到高度赞赏。

1 个答案:

答案 0 :(得分:0)

如果您只想隐藏包含第二个域的子文件夹,可以将以下内容放在公共文件夹中的.htaccess文件中,以强制找不到错误:

RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} domain2.com$ [NC]
RewriteRule ^(/domain.com/?.*)$ /some-nonexistent-file [L]

更有用的方法可能是将两个域重新连接到子文件夹:

RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} domain.com$ [NC]
RewriteRule ^(.*)$ /domain.com/$1 [L]

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