如何在 Azure 中使用 PHP 路由脚本?

How to use PHP routing script in azure?

我目前运行正在使用一个内置服务器,我想将它转移到 azure。目前我运行服务器使用以下命令

php -S localhost:8000 route.php

其中 route.php 是我的路由脚本,它处理我的所有请求。我查看了 azure 中的应用程序设置,但似乎找不到所需的设置。

PHP Azure Web Apps 上的应用程序 运行 托管在 IIS 上,如果我没有误解的话,您正在使用 route.php 作为应用程序的入口。

您可以在 Azure 门户的“应用程序设置”边栏选项卡下配置默认文档route.php设置在最前面,然后当请求进来时,IIS会在dufault文档列表下逐个查找页面,处理请求。

Web.config 可用于在请求被服务器处理之前对其进行修改。因此可以使用以下脚本将流量推送到路由脚本

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
<system.webServer>
<rewrite>
    <rules>
        <rule name="SpecificRewrite" stopProcessing="true">
            <match url="^([A-Za-z0-9-/]+)/?$" />
            <action type="Rewrite" url="/route.php?url={R:1}" />
        </rule>
        </rules>
    </rewrite>
</system.webServer>
</configuration>

match 和 action 参数均为正则表达式,因此可以针对高级路由进行修改