Azure 重写路径中的URL编码URL

Azure 重写路径中的URL编码URL,azure,iis-8,Azure,Iis 8,“我的网站”当前将URL编码的URL作为URI段之一处理: https://report-uri.io/home/pkp_analyse/https%3A%2F%2Fscotthelme.co.uk 我正在尝试在运行IIS/8的Azure Web应用程序中复制此功能。我已经为我的MVC制定了一条重写规则: <rule name="CodeIgniter rewrite" stopProcessing="false"> <match url="^(.*)$" />

“我的网站”当前将URL编码的URL作为URI段之一处理:

https://report-uri.io/home/pkp_analyse/https%3A%2F%2Fscotthelme.co.uk

我正在尝试在运行IIS/8的Azure Web应用程序中复制此功能。我已经为我的MVC制定了一条重写规则:

<rule name="CodeIgniter rewrite" stopProcessing="false">
    <match url="^(.*)$" />
    <conditions>
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
    </conditions>
    <action type="Rewrite" url="index.php/{R:1}" appendQueryString="false" />
</rule>


如何正确地处理此重写?

真奇怪!似乎URL标记为文件或目录(不确定IIS是否调用给定的URL、查找某些内容并将其奇怪地解释为文件)。我只能建议您简化正在传递的参数,直到您能够确定哪个位是导致翻译错误的原因,或者修改站点以使用查询字符串样式在URL中传递,例如?site=https%3A%2F%2fscottelme.co.uk,这可能会阻止它错误地标记为文件/目录。这似乎是:导致问题,因此我尝试使用requestPathInvalidCharacters来允许它处理相同的问题。这里提到了另一个名为relaxedUrlToFileSystemMapping=“true”的属性:
D:\home\site\wwwroot\home\pkp_analyse\https:\web.config