Azure devops 使用Azure DevOps任务部署到Azure Web App Web根目录中;Azure应用程序服务部署“;v3

Azure devops 使用Azure DevOps任务部署到Azure Web App Web根目录中;Azure应用程序服务部署“;v3,azure-devops,azure-web-app-service,Azure Devops,Azure Web App Service,我正在将Azure DevOps与“Azure应用程序服务部署”任务一起使用(AzureRmWebAppDeployment@3)要部署到Azure网站,我在部署到Web根目录时遇到问题 该应用程序是PHP,有一个“public”文件夹,它是唯一公开的文件夹。文件夹结构如下所示: / application/ vendor/ public/ index.php favicon.ico images/ etc... 当我将Azure应用程序服务部署任务

我正在将Azure DevOps与“Azure应用程序服务部署”任务一起使用(AzureRmWebAppDeployment@3)要部署到Azure网站,我在部署到Web根目录时遇到问题

该应用程序是PHP,有一个“public”文件夹,它是唯一公开的文件夹。文件夹结构如下所示:

/
  application/
  vendor/
  public/
    index.php
    favicon.ico
    images/
    etc...
当我将Azure应用程序服务部署任务的“虚拟应用程序”设置为“”(如空白)时,它实际上似乎默认为“/”虚拟应用程序

这是有问题的,因为默认应用程序(“/”)应该指向
/sites/wwwroot/public/
,因此索引文件位于
/sites/wwwroot/public/index.php

此设置中发生的情况是,当“虚拟应用程序”设置留空时,部署任务默认显示为“/”,这导致部署到
/sites/wwwroot/public
,因此我的索引文件位于
/sites/www/root/public/public/index.php
(可在网站上访问)

如何将应用程序部署到web根目录
/sites/wwwroot/
,使我的索引文件位于磁盘上的
/sites/wwwroot/public/index.php


Azure DevOps


应用程序服务


是的,从虚拟应用程序和目录指向“Public”的配置是正确的过程: 默认情况下,应用程序服务将web请求定向到应用程序代码的根目录。例如,Laravel从public子目录开始。如果您希望访问您的应用程序,则可以在访问,但您确实希望直接访问公共目录。 确保适当地设置了默认文档(index.php)

  -<action type=”Rewrite” url=”index.php” appendQueryString=”true” />
-
所以进入你的公用文件夹,用这行代码创建一个web.config文件 -
如果配置都完成了,只需缩小问题范围,如果可行,尝试重新启动应用程序,看看这是否有帮助。

我知道这是一个迟到的回复。。但我找到了解决办法。在您的Webapp中,配置虚拟应用程序并将其指向site\wwwroot,然后在azure管道中为azure App Service Deploy配置任务时,在其中设置虚拟应用程序。我已经测试过了,它可以工作了

J