除非是指定值,否则如何通过主机名重写请求?

时间:2012-10-06 23:43:17

标签: django apache mod-rewrite rewrite

我的应用程序将有一个常规域名 - 例如example.com - 它将提供有关登录,注册等信息。它还将动态托管许多其他域。我的应用程序在http://example.com/site/foobar.com/

为这些网页提供服务

所以,我需要将主机名不是example.com的所有请求重定向到/ site / [hostname] /

我在Django中写这个并用Apache托管。

如何设置重写规则来执行此操作?用户不得知道他们在任何其他网站上而是foobar.com,如果用户浏览到foobar.com/something,则必须将URL重写为/site/foobar.com/something

2 个答案:

答案 0 :(得分:0)

"Dynamic mass virtual hosts with mod_rewrite"涵盖了这一点。您可能希望跳过您访问example.com的部分,而是坚持使用本地文件系统。

答案 1 :(得分:0)

我解决了这个问题:

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