关于在apache上设置伪/伪子域的帮助

时间:2010-07-03 08:14:45

标签: apache

首先,抱歉,如果我将'伪子域'这个词弄错了。 我想要实现的是这个 -

当有人在我的应用程序上注册时,他们会得到一个新的URL ... yourname.myapp.tld

我不想为此使用子域系统。坦率地说,我不知道子域是如何工作的,但它猜测它需要文档根目录中的每个子域的文件夹,然后服务器重定向那里的请求。

这可以通过做 -

之类的事情来实现

当访问者键入任何子域(anything.myapp.tld)时,他可以访问myapp。在index.php文件中,我将爆炸$ _SERVER ['HTTP_HOST']来获取我将在会话中存储的子域,然后将其作为该用户的标识符。理想情况下,我不想创建任何虚拟主机或添加许多行到主机文件。只用一个虚拟机就可以实现这个目标吗?

这可能与mod重写或其他什么?

1 个答案:

答案 0 :(得分:0)

是的,您可以使用需要在dns服务器和http服务器上配置的通配符对此进行存档

在dns上这样的条目(在ubuntu https://help.ubuntu.com/10.04/serverguide/C/dns.html上安装dns):

; wildcard subdomains are all directed to this IP
;  of course this should be the IP of your web server
*.domain.tld.      IN  A    1.2.3.4

在apache这样的条目:

<VirtualHost 111.22.33.55>
    DocumentRoot /www/subdomain
    ServerName www.domain.tld
    ServerAlias *.domain.tld
</VirtualHost>

之后会发生的事情是everything.domain.tld将转到你的主文件夹,这样你就可以使用index.php将它重定向到正确的位置,甚至是使用mod_rewrite的htaccess。