使用IIS URL重写将子文件夹重定向到子域/子文件夹

马特·戴姆勒

我正在使用IIS Rewrite Module 2.0重定向一些损坏的应用程序链接。

以前,www.mydomain.com是我们的公司网站,而www.mydomain.com/application1和www.mydomain.com/application2是我们的客户使用的其他应用程序。他们都在同一台服务器上。

现在,我们正在更新公司站点并将其移至另一台服务器。因此,www.mydomain.com和mydomain.com解析为另一台服务器。作为这项工作的一部分,创建了app.mydomain.com的子域来容纳仍驻留在我们服务器上的客户应用程序。

我想要做的是在新公司站点的服务器上安装重写模块,并将www.mydomain / application1或mydomain.com/application1重定向到app.mydomain.com/application1。

我有列表应用程序,所以也许使用rewriteMap是可行的方法?这样可以防止任何重定向(例如www.mydomain.com/newcorporateurl)被错误地重定向。我还需要保留子文件夹和查询字符串(由于具有浏览器书签的人),例如www.mydomain.com/application1/index.aspx?id=1需要转到app.mydomain.com/application1/index.aspx?id= 1个

任何帮助将其放在一起将是巨大的!即使只是对基本配置进行排序,这样我也可以尝试一下并了解更多内容。我一直在浏览其他问题和资源,但仍在努力将它们整合在一起

更新1

下面的代码不起作用,但希望它能演示我正在尝试做的事情。我大约有15个或需要以这种方式重定向的应用程序。

<rewrite>
    <rules>
        <rule name="application1 rule" stopProcessing="true">
            <match url="(www\.)?mydomain\.com(:80)?/application1/?" />
            <action type="Redirect" url="app.mydomain.com/application1/" appendQueryString="false" />
        </rule>
        <rule name="application2 rule" stopProcessing="true">
            <match url="(www\.)?mydomain\.com(:80)?/application2/?" />
            <action type="Redirect" url="app.mydomain.com/application2/" appendQueryString="false" />
        </rule>
    </rules>
</rewrite>

更新2

我在一定程度上有工作

<rewrite>
    <rules>
        <clear />
        <rule name="application1 rule" stopProcessing="true">
            <match url="application1(.*)" />
            <conditions>
                <add input="{HTTP_HOST}" pattern="mydomain.com" />
            </conditions>
            <action type="Redirect" url="http://app.mydomain.com/application1{R:1}" />
        </rule>
    </rules>
</rewrite>

这将重定向

www.mydomain.com/application1-> app.mydomain.com/application1 www.mydomain.com/application1/index.aspx-> app.mydomain.com/application1/index.aspx

我现在要解决的问题是这个。

www.mydomain.com上的新站点是CMS。使用上述规则,这意味着CMS根本不能在URI中包含“ application1”。

现实世界的例子是“商业”

有人可以帮忙完善我的规则,以便以下是正确的

www.mydomain.com/commercial-> app.mydomain.com/commercial www.mydomain.com/commercial/foo/index.aspx-> app.mydomain.com/foo/index.aspx

www.mydomain.com/tv-commercials/list-> www.mydomain.com/tv-commercials/list www.mydomain.com/commercial-property/list-> www.mydomain.com/commercial-property/list

马特·戴姆勒

这就是我最终得到的。

如果URI为www.mydomain.com/application1,则第一条规则仅重定向至尾部斜杠。

第二条规则忽略大小写重定向到子域,保留查询字符串并将其视为永久重定向。

<rule name="Trailing Slash Redirect" stopProcessing="true">
    <match url="^(application1|application2)$" ignoreCase="true" />
    <action type="Redirect" url="{R:0}/" redirectType="Permanent" />
</rule>
<rule name="Http App Redirect" stopProcessing="true">
    <match url="^(application1/.*|application2/.*)$" ignoreCase="true" />
    <action type="Redirect" url="http://app.mydomain.com/{R:0}" redirectType="Permanent" />
</rule>

如果需要重定向到Https,我将创建另一个规则。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用htaccess重定向完整的域URL并删除子文件夹

来自分类Dev

使用Apache,如何将站点的子文件夹重定向到子域,但将除该子文件夹之外的所有内容都重定向到主域?

来自分类Dev

使用301将所有子文件夹的主目录重定向到索引

来自分类Dev

使用htaccess重定向到子文件夹

来自分类Dev

htaccess URL重定向到beta子文件夹,同时使用友好的URL重写

来自分类Dev

使用htaccess重定向子托管域上的文件类型包括URL中的文件夹名称

来自分类Dev

使用.htaccess动态重定向到子文件夹,在不使用域名的情况下将子文件夹隐藏在url中

来自分类Dev

IIS URL将子文件夹重写为另一个文件夹名称

来自分类Dev

使用Hostinger中的Htaccess将子域重定向到子文件夹

来自分类Dev

将子文件夹重写为子域,而无需使用Nginx进行重定向

来自分类Dev

使用Cloudfront将S3子文件夹重定向到另一个域

来自分类Dev

使用htaccess将子文件夹内容重定向到其他域(500 Internal Server Error)

来自分类Dev

使用子文件夹(nginx)将基本域重定向到url

来自分类Dev

如何使用htaccess规则将根子文件夹重定向到子域

来自分类Dev

使用GET参数将所有子文件夹重定向到URL

来自分类Dev

使用子文件夹(nginx)将基本域重定向到url

来自分类Dev

使用.htaccess重定向到子文件夹

来自分类Dev

使用.htaccess将文件夹重定向到子域

来自分类Dev

使用htaccess将网址重定向到子文件夹

来自分类Dev

使用htaccess将子文件夹调用重定向到另一个URL

来自分类Dev

如何使用htaccess将子文件夹1中的所有项目重定向到子文件夹2而不是子文件夹本身(永久重定向)

来自分类Dev

使用.htaccess重定向到子文件夹

来自分类Dev

使用.htaccess将子域重定向到同一子域中的A文件夹-浏览器检测语言

来自分类Dev

使用.htaccess重定向子文件夹中的页面

来自分类Dev

使用htaccess重定向子托管域上的文件类型包括URL中的文件夹名称

来自分类Dev

如何使用xcopy将子文件夹复制到子文件夹中?

来自分类Dev

IIS URL重写删除文件夹并重定向到其他域

来自分类Dev

.htaccess将请求重定向到使用ssl的子域子文件夹

来自分类Dev

IIS 域重写到子文件夹(仅限主页)

Related 相关文章

  1. 1

    如何使用htaccess重定向完整的域URL并删除子文件夹

  2. 2

    使用Apache,如何将站点的子文件夹重定向到子域,但将除该子文件夹之外的所有内容都重定向到主域?

  3. 3

    使用301将所有子文件夹的主目录重定向到索引

  4. 4

    使用htaccess重定向到子文件夹

  5. 5

    htaccess URL重定向到beta子文件夹,同时使用友好的URL重写

  6. 6

    使用htaccess重定向子托管域上的文件类型包括URL中的文件夹名称

  7. 7

    使用.htaccess动态重定向到子文件夹,在不使用域名的情况下将子文件夹隐藏在url中

  8. 8

    IIS URL将子文件夹重写为另一个文件夹名称

  9. 9

    使用Hostinger中的Htaccess将子域重定向到子文件夹

  10. 10

    将子文件夹重写为子域,而无需使用Nginx进行重定向

  11. 11

    使用Cloudfront将S3子文件夹重定向到另一个域

  12. 12

    使用htaccess将子文件夹内容重定向到其他域(500 Internal Server Error)

  13. 13

    使用子文件夹(nginx)将基本域重定向到url

  14. 14

    如何使用htaccess规则将根子文件夹重定向到子域

  15. 15

    使用GET参数将所有子文件夹重定向到URL

  16. 16

    使用子文件夹(nginx)将基本域重定向到url

  17. 17

    使用.htaccess重定向到子文件夹

  18. 18

    使用.htaccess将文件夹重定向到子域

  19. 19

    使用htaccess将网址重定向到子文件夹

  20. 20

    使用htaccess将子文件夹调用重定向到另一个URL

  21. 21

    如何使用htaccess将子文件夹1中的所有项目重定向到子文件夹2而不是子文件夹本身(永久重定向)

  22. 22

    使用.htaccess重定向到子文件夹

  23. 23

    使用.htaccess将子域重定向到同一子域中的A文件夹-浏览器检测语言

  24. 24

    使用.htaccess重定向子文件夹中的页面

  25. 25

    使用htaccess重定向子托管域上的文件类型包括URL中的文件夹名称

  26. 26

    如何使用xcopy将子文件夹复制到子文件夹中?

  27. 27

    IIS URL重写删除文件夹并重定向到其他域

  28. 28

    .htaccess将请求重定向到使用ssl的子域子文件夹

  29. 29

    IIS 域重写到子文件夹(仅限主页)

热门标签

归档