我正在做一个 Laravel 项目,我需要在我的系统中设置一个虚拟主机example.dev
。为此,我创建了一个副本000-default.conf
并将其命名为example.dev.conf
并放置在 中/etc/apache2/sites-available
。文件内容如下(删除了注释):
<VirtualHost *:80>
<Directory /var/www/html/example/public/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
ServerName example.dev
ServerAlias www.example.dev
ServerAdmin [email protected]
DocumentRoot /var/www/html/example/public
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
a2ensite
然后我使用命令启用了网站,并000-default.conf
使用命令禁用了网站。然后当我在浏览器中a2dissite
尝试 (/var/www/html) 时,它将打开我的项目,而不是。虚拟主机在浏览器中总是产生“无法访问网站”错误。localhost
example.dev
example.dev
有什么建议么?
答案1
首选域名扩展名不同于.dev
。去年,谷歌购买了.dev
和.foo
一些其他域名扩展名。现在,这些域名的重定向https://
在某些浏览器中是硬编码的。更多详细信息可以在这个有用的答案。
然后以这种方式编辑您的/etc/hosts
文件(更多详细信息请参见这个答案):
127.0.0.1 localhost example.local www.example.local
<virtual-host>.conf
然后按以下方式编辑您的文件:
<VirtualHost *:80>
ServerName example.local
ServerAlias www.example.local
ServerAdmin [email protected]
DocumentRoot /var/www/html/example/public
<Directory /var/www/html/example/public/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
现在,重新加载 Apache 的配置并尝试访问http://example.local
。
答案2
/etc/apache2/sites-available/
我遇到了同样的问题,因为我曾经将所有测试站点命名为 .dev -按照 pa4080 的回答更改我的所有配置文件(和本地主机文件)解决了这个问题。
用于a2dissite
删除旧配置(在删除文件之前)并a2ensite
启用新配置。
确保使用服务 apache2 reload 重新加载 apache。