gpt4 book ai didi

php - 使用 Azure 和 PHP 进行 URL 映射

转载 作者:行者123 更新时间:2023-12-03 00:11:58 25 4
gpt4 key购买 nike

我有一个可能是一个相对简单的问题,但是我似乎正在搜索错误的东西,因为我无法找到任何特定于我的需求的东西,而且我对主题的经验不足,无法成功实现什么我在我的上下文中找到了。

我有一个托管在 Microsoft Azure 上的 PHP 网站,目前有几个文件,例如 Index.php、About.php、SomeService.php 等,显然可以通过诸如

之类的 URL 访问这些文件
myazurehost.net/SomeService.php

但是,我希望能够操作 URL 映射,原因有两个。
首先,更重要的是,我希望能够构建诸如

之类的目录
myazurehost.net/ServiceGroup/SomeService

因为这比拥有单独的文件(例如

)更整洁且更易于维护
myazurehost.net/SomeService.php
myazurehost.net/AnotherService.php

由于显而易见的原因,这是不可取的。

其次,我希望能够更改目录,以便用户访问该 URL

myazurehost.net/SomeService

他们看到 SomeService.php 页面,因为当前访问/SomeService 会导致 404,因为 SomeService 与 SomeService.php 不同。

我相信我需要使用 Apache 的 .htaccess 系统的等效系统,但是除非我弄错了,否则这在 Azure 下不可用。

最佳答案

嗯,Azure Web Apps 使用 IIS 来托管您的应用程序。 Apache 的 .htaccess 系统的最佳等效项实际上是使用 web.config 文件来处理 IIS 中的 URL 重写。

例如,您可以将以下 web.config 文件放入 Web 应用程序的根文件夹中以隐藏 .php 扩展名。更多信息请引用https://www.saotn.org/iis-url-rewrite-hide-php-extension .

<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="hide .php extension" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="{R:1}.php" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>

关于php - 使用 Azure 和 PHP 进行 URL 映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43823998/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com