Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure上带有PHP的公共文件夹_Php_Azure - Fatal编程技术网

Azure上带有PHP的公共文件夹

Azure上带有PHP的公共文件夹,php,azure,Php,Azure,在开发PHP应用程序时,通常在Web服务器所针对的应用程序结构中的某个位置有一个公用文件夹。私有应用程序代码存储在此目录之外,因此不可公开访问 我有一个PHP应用程序,我正试图在Azure上运行,并希望在我的WebRole中将一个目录配置为“公共目录”,但在Eclipse中(我使用的是PHP Azure插件),我看不到任何配置它的选项。有没有办法配置角色的实际“根”目录?或者角色本身是公共的,因此我应该将我的私有代码存储在其他地方并与WebRole共享?默认情况下,在Windows Azure的

在开发PHP应用程序时,通常在Web服务器所针对的应用程序结构中的某个位置有一个公用文件夹。私有应用程序代码存储在此目录之外,因此不可公开访问


我有一个PHP应用程序,我正试图在Azure上运行,并希望在我的WebRole中将一个目录配置为“公共目录”,但在Eclipse中(我使用的是PHP Azure插件),我看不到任何配置它的选项。有没有办法配置角色的实际“根”目录?或者角色本身是公共的,因此我应该将我的私有代码存储在其他地方并与WebRole共享?

默认情况下,在Windows Azure的IIS配置中,网站的根目录始终是公共的。然而,由于支持URL重写,所以很容易克服这一问题

与Apache上的.htaccess和mod_rewrite一样,您可以将当前请求重写到其他文件夹。IIS将在内部使用此信息查找您的文件,但用户的浏览器永远不会注意到发生了此重写

下面是XML的一部分,您可以将其复制/粘贴到Web.config文件中。下面代码中的公共根是“public”,如果是“shizzle”,请确保更改:-)


. 通过调整某些文件,可以将IIS欺骗到不同的公共根目录中。如果将my blog post用于Azure的打包部分,并将Google/Bing/MSDN用于IIS配置部分,那么这也应该起作用

享受吧

<!-- Rewrite rules to /public -->
<rewrite>
  <rules>
    <clear />
    <rule name="TransferToPublic" patternSyntax="Wildcard" stopProcessing="true">
      <match url="*" />
      <action type="Rewrite" url="public/{R:0}" />
    </rule>
  </rules>
</rewrite>