Apache2-需要多个具有相同域的项目在域名后使用不同的路径
Apache2- need multiple projects with same domain that use different path after domain name
我有 2 个完全不同的项目,我想从同一个域名 "mysimpledomainname.com" 和 IP 地址 xx.xx.xxx.xx(非本地)
托管
2个项目位于
项目 1) /var/www/html/project1
项目 2) /var/www/html/project2
我希望这 2 个项目像这样解决
项目 1
mysimpledomainname.com
项目 2
我的简单域名。com/project2
我不想使用子域名。这是我的 public 服务器上的一个项目,而不是我的本地机器,所以我认为更新主机文件对我没有帮助。
我已经从 mysimpledomainname.com 加载了第一个项目(它已经在运行)。
在目录 sites-available 中,我有 conf 文件 mysimpledomainname.com.conf,其值为:
<VirtualHost *:80>
ServerAdmin myemail@gmail.com
DocumentRoot /var/www/html/project1
<Directory /var/www/html/project1/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
RewriteEngine On
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
我想我需要设置 2 个不同的 conf 文件才能执行此操作,但在四处搜索后我还没有找到解决方案。
谁能帮我这个?与其给出一个简短的答案,你能 post 正是我需要的 2 个不同的 conf 文件吗?
谢谢,
大卫
您只能有 1 个 VirtualHost
指令,因为这是根据 FQDN 定义的,您只想使用 mysimpledomainname.com
.
您对 Project1 的配置没有问题。您只需要在路径 /project2
下提供另一个目录。为此,您需要使用 Alias
指令。
所以你的最终配置应该是这样的(当然,如果你愿意,你可以为每个子目录单独设置 Directory
):
<VirtualHost *:80>
ServerAdmin myemail@gmail.com
DocumentRoot /var/www/html/project1
Alias /project2 /var/www/html/project2
<Directory /var/www/html/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
RewriteEngine On
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
我有 2 个完全不同的项目,我想从同一个域名 "mysimpledomainname.com" 和 IP 地址 xx.xx.xxx.xx(非本地)
托管2个项目位于 项目 1) /var/www/html/project1 项目 2) /var/www/html/project2
我希望这 2 个项目像这样解决
项目 1
mysimpledomainname.com
项目 2
我的简单域名。com/project2
我不想使用子域名。这是我的 public 服务器上的一个项目,而不是我的本地机器,所以我认为更新主机文件对我没有帮助。
我已经从 mysimpledomainname.com 加载了第一个项目(它已经在运行)。
在目录 sites-available 中,我有 conf 文件 mysimpledomainname.com.conf,其值为:
<VirtualHost *:80>
ServerAdmin myemail@gmail.com
DocumentRoot /var/www/html/project1
<Directory /var/www/html/project1/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
RewriteEngine On
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
我想我需要设置 2 个不同的 conf 文件才能执行此操作,但在四处搜索后我还没有找到解决方案。 谁能帮我这个?与其给出一个简短的答案,你能 post 正是我需要的 2 个不同的 conf 文件吗?
谢谢,
大卫
您只能有 1 个 VirtualHost
指令,因为这是根据 FQDN 定义的,您只想使用 mysimpledomainname.com
.
您对 Project1 的配置没有问题。您只需要在路径 /project2
下提供另一个目录。为此,您需要使用 Alias
指令。
所以你的最终配置应该是这样的(当然,如果你愿意,你可以为每个子目录单独设置 Directory
):
<VirtualHost *:80>
ServerAdmin myemail@gmail.com
DocumentRoot /var/www/html/project1
Alias /project2 /var/www/html/project2
<Directory /var/www/html/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
RewriteEngine On
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>