首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >同一域下有apache的多个站点

问同一域下有apache的多个站点
EN

Server Fault用户
提问于 2012-04-20 18:11:09
回答 2查看 417关注 0票数 0

我正在使用apache和PHP,我刚刚做了一个cms,现在我想在不同的URL上提供一些演示,但是在相同的域中,例如mydomain.com。

就像这样:

http://www.mydomain.com/demo1

http://www.mydomain.com/demo2 ...

如果这些是我的服务器上对应的实际路径:

代码语言:javascript
复制
/myserver/cms/demo1
/myserver/cms/demo2

我不想改变我的cms代码来实现这一点(如果可能的话)

我想到的第一个解决方案是为每个演示购买一个域,并使用虚拟主机将一个演示映射到一个域。我想怎么做都行,但太贵了.

根据Alias的指令,

代码语言:javascript
复制
Alias /demo1/ /myserver/cms/demo1

这几乎是完美的,但我仍然遇到了一个问题:$_SERVER['REQUEST_URI']变量被从/修改为/demo1,这不幸地使我的cms混淆了。

我需要一种真正无拘无束的方式来做这件事,比如虚拟主机。

如果你也面临过这个问题,我想听听你是如何处理的。

EN

回答 2

Server Fault用户

发布于 2012-04-20 18:15:44

我使用子域(demo1.example.com、demo2.example.com等)使用通配符DNS条目(*.example.com总是解析到同一个主机),这样我就不必对DNS进行任何更改,只需向Apache添加更多虚拟主机即可。

效果很好。

票数 0
EN

Server Fault用户

发布于 2012-04-20 18:46:45

对自己的回答:

如果您对这个主题感兴趣,下面是我的工作方式(感谢凹版):

代码语言:javascript
复制
<VirtualHost *:80>
    ServerName test.jetdemo
    ServerAlias test.jetdemo
    DocumentRoot "/Volumes/Mac/projets/jetsites/demo/ecommerce/store1/application/www"
</VirtualHost>
<VirtualHost *:80>
    ServerName jetdemo
    ServerAlias *.jetdemo
    DocumentRoot "/Volumes/Mac/projets/jetsites/demo/" 
</VirtualHost>

我已经注意到虚拟主机组的顺序很重要:包含通配符( ServerAlias *.jetdemo )的块必须是最后一个,否则它将无法工作!,否则您将不得不删除通配符( ServerAlias jetdemo )。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/381638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档