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

Mod rewrite IIS Web.config的www重写规则不起作用,mod-rewrite,joomla,url-rewriting,iis-7,web-config,Mod Rewrite,Joomla,Url Rewriting,Iis 7,Web Config,我在IIS中有一个重写规则,它应该将没有“www”的入站URL重写为“www”。重写规则实际上是重写URL以包含“www”,但它将访问者定向到/index.php,而不是将他们发送到他们试图访问的链接 如果您想知道php扩展,我正在Windows上使用Joomla。我的重写规则写在web.config文件中。目前我的非www到www规则是第三条规则,我猜这可能是问题所在。前两个重写规则是SEF的Joomla默认规则。有人知道把它移到第一条规则是否能解决问题吗 你的第一条规则Joomla 1是一

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

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


你的第一条规则Joomla 1是一条安全规则。它可以保持不变,看起来还可以

第二条规则Joomla 2将每个不存在的文件/文件夹重写为/index.php。 从此规则中删除以下行

<add input="{URL}" pattern="^/index.php" ignoreCase="true" negate="true" />

注意:最好将您的www规则放在第一位,或者至少放在第二位

马上!谢谢你的帮助,我非常感激。
<rule name="Redirect to WWW" stopProcessing="true">
   <match url="^(.*)$" />
   <conditions>
      <add input="{HTTP_HOST}" pattern="^www\." negate="true" />
   </conditions>
   <action type="Redirect" url="http://www.{HTTP_HOST}/{R:1}" redirectType="Permanent" />
</rule>