【问题标题】:What is the proper way to add rewrite rules in an Azure App Service在 Azure 应用服务中添加重写规则的正确方法是什么
【发布时间】:2017-07-10 04:36:53
【问题描述】:

我想向我的 Azure 应用服务添加重写规则,但如果我尝试使用如下所示的简单重写创建 web.config,该站点会返回 HTTP 500。

<?xml version="1.0" encoding="UTF-8"?>

<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="Test" stopProcessing="true">
                    <match url="test" />
                    <action type="Rewrite" url="/index.html" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

我所做的是从头开始创建 web.config 并将其通过 FTP 传输到应用服务的 wwwroot 文件夹中,这是我对其余网站文件进行 Ftp 处理的位置。

我在 Azure 中看到了关于 web.config 文件的 old conversation,但我什至不确定这是否与 Azure 应用服务有关 - Azure 中的情况变化如此之快,以至于我认为无论如何我都应该单独询问.

我还看到this link 关于使用 web.config 转换。也许这是必需的?

This other link 似乎表明更新 web.config 是可能的,但他们的示例对我来说也会导致 HTTP 500。

我在 Azure 门户中查看了我的应用服务的配置选项,但似乎没有任何反应。

【问题讨论】:

    标签: url-rewriting web-config azure-web-app-service web-config-transform


    【解决方案1】:

    >>“这个其他链接似乎表明可以更新 web.config”

    是的,我们可以通过直接更新 Web.config 文件来更新 Web App 的配置。您可以通过 FTP/WebDeply 或 Kudu 提供的任何其他方式将新版本的配置文件上传到 wwwroot 文件夹。编辑wwwroot文件夹中文件的另一种简单方法是使用App Service Editor,您可以使用它来编辑配置文件。

    我无法重现您的问题。以下是我所做的。

    1. 使用具有“共享”SKU 的 Web 应用计划创建 Web 应用。
    2. 创建 2 个文件,一个 index.html 文件和一个 Web.config 文件。 Web.config 中的内容和你的一样。
    3. 使用 FTP 将这些文件上传到我的网络应用的 wwwroot 文件夹。
    4. 打开 Web 浏览器并输入类似“http://xxx.azurewebsites.net/test”的 URL。 Web 服务器将返回 index.html 的内容。证明重写工作正常。

    >>“但他们的示例对我来说也是 HTTP 500。”

    首先,请确认重写是否正常工作。建议你直接查看index.html页面,检查错误码(500)是否来自index.html页面。

    有时我们为重写规则提供了错误的语法,它会返回 500 (URL Rewrite Module Error)。您是否为您的 Web 应用程序启用了详细错误日志记录和 Web 服务器日志记录。如果是,您可以查看详细错误消息以获取更多有用信息。有关如何启用和查看诊断日志记录,请参考以下链接。

    Enable diagnostics logging for web apps in Azure App Service

    【讨论】:

    • 感谢您提供的重要信息!我将研究诊断日志记录作为下一步。也许它会提供线索。我会在这里报告我的发现。
    • 我花了一段时间才回到这一点,但我终于能够回到这一点。我打开了诊断日志记录,它抱怨 XML 文件格式错误。因此,我开始一次从头开始编写文件,并让一切正常工作。我想我在那里有一个控制角色或其他东西。再次感谢您的帮助!
    • @KirkLiemohn 你如何解决这个问题?我在这里面临同样的问题。
    • 我不记得了,但是根据我上面的 cmets 重写 XML 文件解决了这个问题。抱歉,我没有任何进一步的信息。
    猜你喜欢
    • 2011-06-18
    • 1970-01-01
    • 1970-01-01
    • 2017-01-12
    • 1970-01-01
    • 2018-07-25
    • 1970-01-01
    • 2017-11-03
    • 1970-01-01
    相关资源
    最近更新 更多