Apache 虚拟主机不起作用
Posted
技术标签:
【中文标题】Apache 虚拟主机不起作用【英文标题】:Apache virtual hosts doesn't work 【发布时间】:2018-05-09 05:31:51 【问题描述】:我想在我的 apache 上设置虚拟主机。
sudo a2enmod vhost_alias -> Module vhost_alias already enabled
我有这两个文件:
/var/www/test/index.php 和 /var/www/test2/index.php
我想分别加载它们
http://test.local/ 和 http://www.test.local/
或
http://test2.local/ 和 http://www.test2.local/
我的配置文件:(/etc/apache2/sites-enabled/000-default.conf)
UseCanonicalName Off
<VirtualHost *:80>
ServerAlias *.local
VirtualDocumentRoot /var/www/%1+
</VirtualHost>
VirtualDocumentRoot /www/hosts/%0/docs
VirtualScriptAlias /www/hosts/%0/cgi-bin
我不明白我做错了什么,请帮助我。我在谷歌上搜索了 2 天,但什么也没有。我已经阅读了http://httpd.apache.org/docs/2.0/vhosts/mass.html,但这对我没有帮助。 你能告诉我应该如何配置我的文件吗?
【问题讨论】:
你是否启用了在 apache config 中包含 vhosts 文件的行? 【参考方案1】:您是否在 /etc/hosts 文件中添加了这一行?
127.0.0.1 test.local
127.0.0.1 www.test.local
127.0.0.1 test2.local
127.0.0.1 www.test2.local
编辑
试试这个配置:
<VirtualHost *:80>
ServerName test.local
DocumentRoot /var/www/test
<Directory "/var/www/test/">
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require local
</Directory>
</VirtualHost>
在此之前尝试仅使用一个域,然后您将为其他域配置别名
然后将此文件保存在 /etc/apache2/sites-available/test.local.conf 中
然后
sudo a2ensite test.local.conf
sudo /etc/init.d/apache2 reload
转到http://test.local
【讨论】:
我已添加,现在 test.local 未找到 在此服务器上未找到请求的 URL /。 在编辑 vhost 配置后是否重新启动 apache?您必须使用 a2ensite myvhostconfig.conf 启用 vhost 配置,然后重新加载 apache。 但是我配置 /000-default.conf 我没有创建任何新的 conf 文件。 重启apache时是否有一些错误信息?也请查看 apache 错误日志文件。如果我在你那里我会尝试使用一个没有正则表达式的配置文件,只有一个域,直到这个工作。我在答案中向您发布了一个 apache vhost 配置文件 不要忘记将原始配置文件放入您的 000-default.conf 并在此之后重新加载 apache,我会保持不变并将我的虚拟主机放在单独的配置文件中以上是关于Apache 虚拟主机不起作用的主要内容,如果未能解决你的问题,请参考以下文章
在虚拟主机中使用自定义端口的 Laravel 路由在 Apache 中不起作用