使用htaccess将子域重写为子文件夹

时间:2010-06-11 01:32:54

标签: apache .htaccess mod-rewrite ubuntu apache2

我正在尝试在Ubuntu / Apache2服务器的根文件夹中使用.htaccess,以便将子域屏蔽到子文件夹,并且我不断收到500内部错误。我知道我做了一些愚蠢的错误,这是导致问题的一些愚蠢的错误。我已经在SO和网上检查了所有类似的线程,每当我尝试他们的建议时,500继续。

这是我的代码。

RewriteEngine on
RewriteCond %{HTTP_HOST} ^admin\.mydomain\.com.*$
RewriteRule (.*) intranet/$1 [L]

我想要发生的是,如果用户访问admin.mydomain.com,他们将获得文件夹admin.mydomain.com/intranet/的内容,但他们的URL栏仍然是admin.mydomain.com。知道我做错了吗?

此外,网上的一些主题讨论了该系统可能出现的问题。如果我使用vhost设置,这是进行此屏蔽的最佳方式吗?

1 个答案:

答案 0 :(得分:2)

重写规则应该有效,尽管我可能会写

RewriteEngine on
RewriteBase / #omit if in a <Directory> or .htaccess
RewriteCond %{HTTP_HOST} =admin.mydomain.com
RewriteRule ^(?!intranet/).* intranet/$0

现在,您可能想要检查Apache错误日志。它可能会告诉你错误是什么。我的猜测是你没有在httpd.conf中启用mod_rewrite。