Azure中的Mod_rewrite

时间:2013-07-24 11:34:53

标签: .htaccess azure

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

RewriteEngine on AddDefaultCharset utf-8

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

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

1 个答案:

答案 0 :(得分:16)

Azure网站无法识别

.htaccess文件。

Azure网站在Microsoft IIS上运行。

IIS有一个URL Rewrite模块,非常类似于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>