Apache 中同一虚拟主机上的多个域

Apache 中同一虚拟主机上的多个域

我正在为我的客户开发一款应用程序,让他们可以为自己的活动设置小型登陆页面。我有一套模板和视图,用于向模板添加文本、照片等。所有功能开箱即用,运行良好,包括身份验证、管理视图等。我使用的是 Laravel 框架。

每个客户和活动都有一个 URL 友好标题,用于自定义前端 URL,即“campaignsite.com/c/client/campaign”。这些 URL 标题是唯一的。除此之外,我想允许我的客户将自定义子域(或任何域)指向他们的活动。例如,指向域“campaign.client.com”会获取该活动的正确前端。我在 Laravel 中非常轻松地解决了这个问题,只需添加自定义 URL 的输入字段,然后在前端查找即可。

但是,我在正确设置 Apache 中的虚拟主机时遇到了问题。我有一个包含多个站点的 VPS,所有站点均具有以下配置:

<VirtualHost *:80>
  DocumentRoot /data1/www/kampanjeweb/public
  ServerName kampanjeweb.redhost.no

  LogLevel warn
  ErrorLog /logs/www/kampanjeweb_error.log
  CustomLog /logs/www/kampanjeweb_access.log common

  <Directory />
    AllowOverride All
    Options FollowSymLinks MultiViews
    Order allow,deny
    Allow from all
  </Directory>
</VirtualHost>

使用这个 vhost 代码片段,我需要定义每个 ServerAlias 服务器,但我希望能够让客户端更新他们的自定义 URL 设置,而无需我进行任何自定义。

你们中有人这样做过吗?我基本上想要的是,任何与 Apache 中的任何虚拟主机文件不匹配的域或请求都应该转到此虚拟主机。

答案1

将此虚拟主机重命名为000-<old name>确保它按字典顺序排序。当请求到达与任何虚拟主机都不匹配的服务器时,它将默认为第一个。

相关内容