1

我在用:

IIS 7
Url 重写模块版本 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 添加到任何 url 并删除显示在 url 中的文件夹吗?

4

1 回答 1

1

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


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

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

我将此规则放在我的主机帐户的 ROOT web.config 中。根目录仅包含 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>
于 2013-06-05T06:15:08.857 回答