在天蓝色的网络应用程序上的Wordpress网站重定向到404错误页面

问题描述:

我有一个基于WordPress的网站托管在Azure网络应用程序内。在天蓝色的网络应用程序上的Wordpress网站重定向到404错误页面

如果我在URL的“/”后面输入各种字符串(例如:“www.blabla.net/asdfasdf”),我会重定向到配置的404错误页面。 但是:如果URL字符串包含一个或多个“+”字符(例如:“www.blabla.net/as+asdf”或只是“www.blabla.net/+”),则重定向到配置的404错误页面不起作用,我将重定向到包含以下文本的页面:

您正在查找的资源已被删除,名称已更改或暂时不可用。在IIS 8

我的“web.config”文件是这样的:

<?xml version="1.0" encoding="UTF-8"?> 
    <configuration> 
     <system.webServer> 
     <rewrite> 
      <rules> 
       <rule name="WordPress: http://blabla.net" patternSyntax="Wildcard"> 
       <match url="*"/> 
        <conditions> 
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/> 
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/> 
        </conditions> 
       <action type="Redirect" url="index.php"/> 
     </rule></rules> 
     </rewrite> 
    </system.webServer> 
    </configuration> 

我会很感激,如果你能给我任何暗示如何配置web.config文件中这样一种将“+”字符视为其他各种字符并将重定向执行到配置的404错误页面的方式?

预先感谢您!

由于安全原因,包含双转义序列的URL请求将被自IIS 7以来的过滤模块拒绝。这就是为什么当您向URL中添加“+”字符时,您已获得404.11响应代码。详情请参阅this post

如果你坚持让一个带有“+”字符的URL工作,你可以使用下面列出的web.config文件。然后,www.blabla.net/as+asdfwww.blabla.net/+将被重定向到配置的404错误页面,但请记住,这可能会以某种方式降低您网站的安全级别。

<?xml version="1.0" encoding="UTF-8" ?> 
<configuration> 
    <system.webServer> 

     <security> 
      <requestFiltering allowDoubleEscaping="true" /> 
     </security> 

     <rewrite> 
      <rules> 
       <rule name="WordPress: http://blabla.net" patternSyntax="Wildcard"> 
        <match url="*" /> 
        <conditions> 
         <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
         <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
        </conditions> 
        <action type="Redirect" url="index.php" /> 
       </rule> 
      </rules> 
     </rewrite> 
    </system.webServer> 
</configuration> 
+0

Aaron Chen:非常感谢您的快速响应!它现在按预期工作! – Degoah