我们有一个PHP(Laravel)应用程序托管在使用debian 9和apache2的Microsoft Web应用程序服务中。通过克隆/ 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中设置虚拟主机配置的正确方法?即在门户网站中?
答案 0 :(得分:0)
是的,App Service的默认PHP映像使用Apache,并且不允许您自定义应用程序的站点根目录。要解决此限制,请将.htaccess文件添加到具有以下内容的存储库根目录:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^.*$ /public/$1 [NC,L,QSA]
如果您不想使用.htaccess重写,则可以使用自定义Docker镜像-https://docs.microsoft.com/en-us/azure/app-service/containers/quickstart-docker-go
来部署Laravel应用程序