9

我正在编写简单的 .htaccess 并在 Windows Azure 网站上对其进行测试,但 mod_rewrite 在那里不起作用。为什么?如何重新配置​​我的 Azure?

AddDefaultCharset utf-8 上的 RewriteEngine

RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^test.html$ test.php?%{QUERY_STRING} [L]

4

1 回答 1

17

.htaccessAzure 网站无法识别文件。

Azure 网站在 Microsoft IIS 上运行。

IIS 有一个 URL 重写模块,与 Apache 的 mod_rewrite 非常相似。web.config您可以通过在站点根文件夹中有一个文件来配置 URL 重写规则。

按照创建重写规则文章并向下滚动到“查看配置文件中的规则”以了解它的外观。

您定义的规则将如下所示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>
于 2013-07-24T11:53:25.260 回答