需要IIS 7 Url重写版本1.1正则表达式帮助从URL删除文件夹

时间:2013-06-02 07:18:36

标签: regex iis-7 url-rewriting

我正在使用:

IIS 7
网址重写模块版本1.1
Asp.Net MVC 4

我在共享托管环境中托管我的网站。 根文件夹中没有托管站点,因为所有站点都在他们自己的物理文件夹中,并且我使用站点的域名作为物理文件夹名称。

我想从这个

更改我的网址
  http://www.mysite1.com/mysite1
  http://mysite1.com/mysite1

到这个

  http://www.mysite1.com/ 
  http://mysite1.com/

我有这个,它不起作用。

    **DOES NOT WORK**
    <rule name="RemoveFolder" stopProcessing="true">
      <match url="mysite1/(.*)" />
      <action type="Rewrite" url="/{R:0}" appendQueryString="true" />
    </rule>

有人可以给我一个正则表达式,将www添加到任何网址,并删除在网址中显示的文件夹?

1 个答案:

答案 0 :(得分:1)

行。我在下面输入的内容对我不起作用。我以为它确实如此,但我意识到它没有。 @Cheesemacfly,我正在尝试从网址中删除子文件夹, 使用url MINUS子文件夹将用户重定向回站点, 确保没有连续循环。


Cheesemacfly,你的答案没有用,但确实让我走上了正确答案的道路。

谢谢你让我走上正确的道路。 此规则从URL中删除子文件夹,并将用户重定向回没有子文件夹的页面。条件确保我没有持续的重定向。一旦重写了url,该条件将阻止url再次匹配。

我将此规则放在我的托管帐户的ROOT web.config中。 root只包含web.config和所有子文件夹。

    <rule name="Cleanup" stopProcessing="true">
      <match url="theFolderINeedToRemove/(.*)" ignoreCase="true" />
      <conditions>
        <add input="{HTTP_HOST}" pattern="^mywebsite.com/theFolderINeedToRemove$" />
      </conditions>
      <action type="Redirect" url="/{R:1}" appendQueryString="true" />
    </rule>