我正在尝试使用带别名的虚拟主机来部署Laravel应用程序。 在ubuntu 16.04中使用apache2。
我的000.conf文件是:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
<Directory /var/www/html/>
Options -Indexes
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<IfModule mod_dir.c>
DirectoryIndex index.php index.pl index.cgi index.html index.xhtml index.htm
</IfModule>
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/public
Alias /expediente "/var/www/public/"
<Directory /var/www/public/>
Options -Indexes
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<IfModule mod_dir.c>
DirectoryIndex index.php index.pl index.cgi index.html index.xhtml index.htm
</IfModule>
</VirtualHost>
第一个工作正常但第二个工作没有。
我做错了什么?
==============
好的,所以我在可用网站上制作了两个配置文件,并将它们符号链接到已启用网站。
advanced.conf
<VirtualHost *:80>
ServerAdmin admin@localhost
ServerName ip-address:80/advanced
ServerAlias /advanced
DocumentRoot /var/www/html/advanced
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
expediente.conf
<VirtualHost *:80>
ServerAdmin admin@localhost
ServerName ip-address:80/expediente
ServerAlias /expediente
DocumentRoot /var/www/html/public
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
重新加载并重新启动apache2。
如果我尝试导航到ip-address /我得到第一页,高级, 如果我尝试导航到找不到ip-address / advanced 404 如果我尝试导航到未找到的ip-address / expediente 404
我做错了什么?
答案 0 :(得分:0)
你需要在虚拟主机配置中使用ServerName,它可能总是默认为第一个没有它。例如
ServerName mydomain.net
答案 1 :(得分:0)
Si tus proyecto esta de la forma http://localhost/AppName,entonces debes colocar en el httpd.conf
<VirtualHost site1.local:80>
ServerAdmin webmaster@example.com
DocumentRoot /path/to/htdocs/site1
ServerName www.site1.local
ServerAlias site1.com
</VirtualHost>
y el segundo。
<VirtualHost site2.local:80>
ServerAdmin webmaster@example.com
DocumentRoot /path/to/htdocs/site2
ServerName www.site2.local
ServerAlias site2.com
</VirtualHost>
答案 2 :(得分:0)
其良好做法为您的别名创建不同的主机文件。您可以使用此命令使用此命令复制第二个别名的默认配置
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf
并在您喜欢的任何编辑器中打开并放置此内容
<VirtualHost *:80>
ServerAdmin admin@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/public
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
保存并关闭文件,然后运行此命令
sudo a2ensite example.com.conf
并重启你的apache