Azure 中的 Mod_rewrite
Posted
技术标签:
【中文标题】Azure 中的 Mod_rewrite【英文标题】:Mod_rewrite in Azure 【发布时间】:2013-07-23 20:38:12 【问题描述】:我正在编写简单的 .htaccess 并在 Windows Azure 网站上对其进行测试,但 mod_rewrite 在那里不起作用。为什么?如何重新配置我的 Azure?
重写引擎开启 AddDefaultCharset utf-8
RewriteCond %REQUEST_FILENAME !-f RewriteCond %REQUEST_FILENAME !-d
重写规则 ^test.html$ test.php?%QUERY_STRING [L]
【问题讨论】:
【参考方案1】:.htaccess
文件无法被 Azure 网站识别。
Azure 网站在 Microsoft IIS 上运行。
IIS 有一个 URL 重写模块,与 Apache 的 mod_rewrite 非常相似。您可以通过在站点根文件夹中添加web.config
文件来配置 URL 重写规则。
关注Creating Rewrite Rules 文章并向下滚动到“查看配置文件中的规则”以了解它的外观。
您定义的规则在web.config
中将如下所示(并且很可能会按预期工作):
<rewrite>
<rules>
<rule name="Imported Rule 1" stopProcessing="true">
<match url="^test.html$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="REQUEST_FILENAME" matchType="IsFile" ignoreCase="false" negate="true" />
<add input="REQUEST_FILENAME" matchType="IsDirectory" ignoreCase="false" negate="true" />
</conditions>
<action type="Rewrite" url="test.php?QUERY_STRING" appendQueryString="false" />
</rule>
</rules>
</rewrite>
【讨论】:
用于 IIS 的 Microsoft“URL 重写”模块还包括一个用于将 mod_rewrite 规则转换为 IIS 格式的工具。该模块是免费提供的,但它不是 Windows 安装的一部分。可以下载:iis.net/downloads/microsoft/url-rewrite 安装将“URL Rewrite”添加到 IIS 管理器。打开那个并使用“导入规则”操作进行转换。详细说明:docs.microsoft.com/en-us/iis/extensions/url-rewrite-module/…以上是关于Azure 中的 Mod_rewrite的主要内容,如果未能解决你的问题,请参考以下文章
是否可以将 Azure 文件共享中的单个文件/文件夹挂载到 Azure 容器实例
仅从 Azure 存储 [Azure-Blob][REST] 中的 Blob 列表获取特定元数据
使用 python 将 azure Runbook 与 azure 中的文件共享连接起来
如何使用带有 Azure 存储帐户的 Azure 文件中的 PHP 显示文本内容本身?