【问题标题】:You do not have permission to view this directory or page error on azure with php + mySql您无权使用 php + mySql 在 azure 上查看此目录或页面错误
【发布时间】:2015-11-05 18:35:55
【问题描述】:
【问题讨论】:
标签:
php
azure
web-applications
【解决方案1】:
由于 Azure Web Apps 使用 IIS 来托管 PHP 应用程序,这些应用程序可以通过 web.config 配置进行控制。根据我的经验,问题的发生是因为 IIS 找不到您的 PHP 应用程序的入口文件。
例如:
1、入口文件在你应用程序的根目录下,但文件名不是默认文件,会自动运行IIS为index.php。当您访问您的站点时,IIS 将在默认文档中按排序查找文件,并运行第一个找到的文件。
--解决方案--
例如入口文件名为app.php,我们可以登录Azure管理门户,在您的站点门户的CONFIGURE选项卡中,在默认文档部分下添加app.php,重新启动您的网站。
2、你应用的入口文件不在根目录下,例如:入口文件在根目录下的文件夹app。我们可以添加一个名为web.config 的文件来配置我们的站点。
我们在web.config 中添加 URL 重写模块,例如:
<?xml version="1.0"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<clear />
<rule name="RewriteRequestsToPublic" stopProcessing="true">
<match url="^(.*)$" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
</conditions>
<action type="Rewrite" url="app/index.php/{R:0}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>