我正在尝试使用我的Apache虚拟主机配置运行角度应用程序,我收到错误。我的虚拟主机配置文件位于
之下<VirtualHost *:80>
ServerName myapp.app
ServerAdmin webmaster@localhost
DocumentRoot /var/www/myapp/src
<Directory /var/www/myapp/src>
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.html [QSA,L]
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
我查看了堆栈溢出中提供的解决方案,这就是我创建Apache虚拟主机文件的方式。
答案 0 :(得分:0)
虚拟主机文件指定了我们各个站点的配置,并指示Apache Web服务器如何响应各种域请求。
首先,我们需要设置虚拟主机将存储在其中的目录,以及告诉Apache虚拟主机已准备好为访问者服务的目录。可用站点目录将保留我们所有的虚拟主机文件,而启用站点的目录将包含指向要发布的虚拟主机的符号链接。我们可以通过输入以下两个目录:
sudo mkdir / etc / httpd / sites-available sudo mkdir / etc / httpd / sites-enabled
注意:此目录布局是Debian贡献者介绍的,但我们在此包括它,以增加管理虚拟主机的灵活性(因为这样可以更轻松地临时启用和禁用虚拟主机)。
接下来,我们应该告诉Apache在启用站点的目录中查找虚拟主机。为此,我们将编辑Apache的主配置文件,并添加一行,以声明其他配置文件的可选目录:
sudo vi /etc/httpd/conf/httpd.conf
将此行添加到文件末尾:
包括启用了可选网站/ *。conf
添加完该行后,保存并关闭文件。现在,我们准备创建我们的第一个虚拟主机文件。
首先以root用户权限在编辑器中打开新文件:
sudo nano /etc/httpd/sites-available/example.com.conf
注意:由于我们已经概述了配置,所有虚拟主机文件都必须以.conf结尾。
首先,首先制作一对标记,将内容指定为正在侦听端口80(默认HTTP端口)的虚拟主机:
# Client AngularJS application
DocumentRoot /var/www/example/client/public
# Server Laravel 4 API application
Alias /api /var/www/example/server/public
# Rewrite all requests in /api to server index.php
<Location /api>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ /api/index.php [L]
</Location>
sudo ln -s /etc/httpd/sites-available/example.com.conf /etc/httpd/sites-enabled/example.com.conf sudo ln -s /etc/httpd/sites-available/example2.com.conf /etc/httpd/sites-enabled/example2.com.conf