Microsoft Azure Web App - 如何更新 apache vhost 配置



我们有一个PHP(Laravel(应用程序托管在Microsoft Web应用程序服务中使用debian 9和apache2。我们能够通过在/var/www/html 文件夹中克隆我们的代码来使应用程序工作。但是,由于我们使用laravel,文档根目录应该在/var/www/html/public中,否则许多功能将无法正常工作。

我们尝试更改/etc/apache2/sites-enabled/000-default.conf 中的 conf 文件并重新加载配置,但是,在使用apache2ctl -S检查后,它仍然使用旧配置。

作为最后的手段,我们最终直接更改了/etc/apache2/apache2.conf 并在那里更改了文档根目录。成功了。但是,如果我们重新启动服务器,Azure 会出于某种原因放弃更改并还原默认的 apache2.conf 文件。

是否有在 Azure 中设置虚拟主机配置的正确方法?即在门户中?

是的,应用服务的默认 PHP 映像使用 Apache ,它不允许你自定义应用的站点根目录。要解决此限制,请将包含以下内容的 .htaccess 文件添加到存储库根目录:

  <IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^.*$ /public/$1 [NC,L,QSA]

如果您不想使用 .htaccess 重写,您可以使用自定义 Docker 映像部署您的 Laravel 应用程序,而不是 -https://learn.microsoft.com/en-us/azure/app-service/containers/quickstart-docker-go

最新更新