更改Windows Azure WebRole的批准path

如何更改默认的批准path? 例如,我想运行一个PHP根目录是一个子文件夹的PHP框架:

symfony |_ app |_ bin |_ src |_ web <- Web root |_ index.php 

WebRole的web根目录在那里:

 WebRole <- Web root |_ bin |_ php |_ resources |_ WindowsAzureSDKForPHP |_ diagnostics.wadcfg |_ Global.asax |_ Web.config |_ index.php ServiceConfiguration.cscfg ServiceDefinition.csdef 

当同时使用时,我得到:

 WebRole |_ bin |_ php |_ resources |_ WindowsAzureSDKForPHP |_ diagnostics.wadcfg |_ Global.asax |_ Web.config |_ symfony |_ app |_ bin |_ src |_ web <- Desired web root |_ index.php ServiceConfiguration.cscfg ServiceDefinition.csdef 

有没有办法告诉Windows Azure Web根目录已经改变? (Web.config中的defaultDocument设置不够)。

编辑:

在astaykovbuild议的变化后,结构如下所示:

 WebRole |_ ServiceConfiguration.cscfg |_ ServiceDefinition.csdef |_ symfony |_ app |_ bin |_ src |_ web <- Desired web root |_ bin |_ php |_ resources |_ WindowsAzureSDKForPHP |_ diagnostics.wadcfg |_ Global.asax |_ Web.config |_ index.php 

Solutions Collecting From Web of "更改Windows Azure WebRole的批准path"

你可以尝试添加它作为另一个网站。 例如,将folling站点节点添加到您的服务定义站点元素:

  <Site name="symphony" physicalDirectory="../WebRole1/symphony/web"> <Bindings> <Binding name="Endpoint1" endpointName="Endpoint1" hostHeader="www.symphony.com" /> </Bindings> </Site> 

您需要用您的实际端点名称和主机头替换“Endpoint1”和“www.symphony.com”。 我在本地测试它,它的工作原理(我用普通的HTML文件进行测试,但与PHP没有太大的区别)。

更新这里部署示例:

http://sn.cloudapp.net/

http://symphony.staykov.net/

请注意,symphony.staykov.net只是sn.cloudapp.net的CNAME。

但是,在部署时,两个站点都将驻留在e:\ sitesroot的子文件夹中。 不知道这是否会成为你的问题。 你如何在你的网络中包含交响乐文件? 即require_once('../ symphony / something.php')? 这不会真的工作…

我将上传样本脚手架解决方案,并在今天晚些时候或明天提供链接。

更新2 – 来源

您可以在这里查看脚手架的源代码以及实际的部署包来开始试验。 希望它会给你一些关于如何解决你的问题的想法。