www重写IIS Web.config的规则不起作用

时间:2015-04-30 22:38:08

标签: mod-rewrite joomla url-rewriting iis-7 web-config

我在IIS中有一个重写规则,它应该重写入站网址,而没有' www'到了'。重写规则实际上是重写URL以包含“'”,但是它将访问者引导到/index.php而不是将它们发送到他们试图访问的链接。

如果你想知道php扩展,我在Windows上使用Joomla。我的重写规则写在web.config文件中。目前我的非www到www规则是第3条规则,我猜它可能是问题所在。前两个重写规则是SEF的Joomla默认规则。有人知道将它移到第一条规则会解决问题吗?



<rewrite>
           <rules>
               <rule name="Joomla! Rule 1" stopProcessing="true">
                   <match url="^(.*)$" ignoreCase="false" />
                   <conditions logicalGrouping="MatchAny">
                       <add input="{QUERY_STRING}" pattern="base64_encode[^(]*\([^)]*\)" ignoreCase="false" />
                       <add input="{QUERY_STRING}" pattern="(>|%3C)([^s]*s)+cript.*(&lt;|%3E)" />
                       <add input="{QUERY_STRING}" pattern="GLOBALS(=|\[|\%[0-9A-Z]{0,2})" ignoreCase="false" />
                       <add input="{QUERY_STRING}" pattern="_REQUEST(=|\[|\%[0-9A-Z]{0,2})" ignoreCase="false" />
                   </conditions>
                   <action type="CustomResponse" url="index.php" statusCode="403" statusReason="Forbidden" statusDescription="Forbidden" />
               </rule>
               <rule name="Joomla! Rule 2" enabled="true">
                   <match url="(.*)" ignoreCase="false" />
                   <conditions logicalGrouping="MatchAll">
                     <add input="{URL}" pattern="^/index.php" ignoreCase="true" negate="true" />
                     <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="index.php" />
               </rule>
               <rule name="Redirect to WWW" stopProcessing="true">
                  <match url=".*" />
                  <conditions>
                     <add input="{HTTP_HOST}" pattern="^example.com$" />
                  </conditions>
                  <action type="Redirect" url="http://www.example.com/{R:0}" redirectType="Permanent" />
               </rule>
           </rules>
       </rewrite>
&#13;
&#13;
&#13;

0 个答案:

没有答案