apache根据域名提供文件

时间:2018-01-15 04:02:40

标签: php apache .htaccess server httpd.conf

可以说,我有3个域名

domain1.com
domain2.com
domain3.com

所有@记录当前都转到我的服务器,解析为root/index.php 目前,我将每个域重定向到不同的子文件夹,并在index.php中使用标头重定向。所以每个网址看起来像是

http://domain1.com/new_root1/index.php
http://domain2.com/new_root2/index.php
http://domain3.com/new_root3/index.php

不是很漂亮..但它确实有效。

我正在尝试将我的服务器配置为使用httpd.conf重定向。我想要的是domain1和domain2解决:
 http://domain[*].com/index.php 在本地IP 192.168.0.101:80上 和domain3解决:本地IP http://domain3.com/index.php上的192.168.0.100:1979

有很多文档,教程等,但似乎没有什么适合这个.. 我看过.htacess。首选评论是使用httpd.conf。搜索了Apache文档。
所有尝试都失败了 我在哪里看? Tx提前

1 个答案:

答案 0 :(得分:1)

使用基于名称的vhost配置,所有域都将使用端口80并按预期工作。您可以设置httpd.conf以加载特定文件夹中的所有单个.conf文件,然后将单个.conf文件添加到该文件夹​​,每个文件包含1个vhost定义。

在apache2.conf的底部附近,我添加了:

# Include the virtual host configurations:
IncludeOptional sites-enabled/*.conf

# Include all my projects vhost conf files:
Include /vagrant/vhosts/*.conf

在我指定用于加载项目vhost conf文件的文件夹中,我添加了一堆.conf文件,如下所示:

<VirtualHost *:80>

ServerName www.demo.vm
ServerAlias demo.vm

DocumentRoot /vagrant/htdocs/demo.vm/public

<Directory /vagrant/htdocs/demo.vm/public>
    Require all granted
    Options Indexes FollowSymLinks
</Directory>

SetEnv APPLICATION_ENV "development"

</VirtualHost>

如果这是本地服务器,则必须编辑操作系统主机文件,以将自定义域指向本地主机。