我想在Apache服务器(运行Bitnami Wamp Stack)中创建指向不同文件夹的两个子域,以便输入“codeigniter.example.com”显示“\ frameworks \ codeigniter”中的内容\ htdocs“和”codeignitertwo.example.com“显示”\ frameworks \ codeignitertwo \ htdocs“。
我的配置如下,“bitnami-apps-vhosts.conf”包括框架的虚拟主机:
Include "/frameworks/codeigniter/conf/httpd-vhosts.conf"
Include "/frameworks/codeignitertwo/conf/httpd-vhosts.conf"
第一个域中的httpd-vhosts.conf文件包含:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName codeigniter.example.com
ServerAlias codeigniter.example.com
DocumentRoot "/frameworks/codeigniter/htdocs"
<Directory "/frameworks/codeigniter/htdocs">
Options +MultiViews
AllowOverride None
<IfVersion < 2.3 >
Order allow,deny
Allow from all
</IfVersion>
<IfVersion >= 2.3>
Require all granted
</IfVersion>
</Directory>
</VirtualHost>
虽然来自第二个域的httpd-vhosts.conf文件包含(它几乎相同):
NameVirtualHost *:80
<VirtualHost *:80>
ServerName codeignitertwo.example.com
ServerAlias codeignitertwo.example.com
DocumentRoot "/frameworks/codeignitertwo/htdocs"
<Directory "/frameworks/codeignitertwo/htdocs">
Options +MultiViews
AllowOverride None
<IfVersion < 2.3 >
Order allow,deny
Allow from all
</IfVersion>
<IfVersion >= 2.3>
Require all granted
</IfVersion>
</Directory>
</VirtualHost>
这两个子域名都是在hosts文件上正确创建的(我正在localhost上测试):
127.0.0.1 localhost
127.0.0.1 codeigniter.example.com
127.0.0.1 codeignitertwo.example.com
当我访问“codeigniter.example.com”时,正确的页面加载但是当访问“codeignitertwo.example.com”时,第一个子域加载,就像DocumentRoot是“/ frameworks / codeigniter / htdocs”一样。为什么会这样?我做错了什么?
更新:我在每次更改后重新启动Apache服务。
感谢。
答案 0 :(得分:1)
最后我解决了!
对于尝试使用Framework (如Codeigniter和CakePHP)创建虚拟主机的任何人的建议,如果你完全确定你做了正确的虚拟主机配置,那么你很可能在框架内面对不正确的路径变量。解决方法实际上非常简单,请查看htdocs中的“index.php”并修复以下变量:
$ system_path,$ application_folder
此外,您可能需要对框架的配置文件夹进行一些更改。