asp.net – IIS URL重写 – 具有多个域
|
我有一个网站/应用程序,其中相同的页面运行许多网站(取决于页面显示不同的徽标/ CSS /内容等的URL).我试图强制每个网站域名重定向到www.领域的verison. 我在URL Rewrite中使用默认的规范规则然后只更改了匹配URL模式: (.*) 至: (^domain*) 所以它只会为非www做这个.当前域的版本与所有域不匹配. 我的计划是为每个使用系统将每个域重定向到www的域创建其中一个.版. 当我在IIS中测试模式时,规则匹配(我认为)应该这样做.但是当我去网站时它没有重定向,它只停留在非www上.版. 有谁知道我哪里出错或者这是否可能? 谢谢 UPDATE 我在IIS中设置了一个网站.本网站的页面运行了许多相同类型的网站,每个网站上的样式,徽标和产品都会根据URL进行更改. 所以说我在网站上设置了以下绑定: www.domain1.com,domain1.com,www.domain2.com,domain2.com,www.domain3.com,domain3.com 该网站将提供一个不同的网站,具有不同的内容,样式等取决于URL. 如果我在URL Rewrite中使用默认的“Canonical domain name”规则,则必须选择一个要转发的域名,因此如果我选择www.domain1.com,则会添加规则: <rewrite>
<rules>
<rule name="CanonicalHostNameRule1">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="^www.domain1.com$" negate="true" />
</conditions>
<action type="Redirect" url="http://www.domain1.com/{R:1}" />
</rule>
</rules>
</rewrite>
然后将所有内容转发给www.domain1.com.因此,如果用户访问domain2.com或www.domain2.com,他们将被重定向到www.domain1.com. 我需要它,以便人们重定向如下: domain1.com> www.domain1.com domain2.com> www.domain2.com domain3.com> www.domain3.com 在测试新网站以添加到现有网站时,我们将其设置在子域上,因此我还要求子域继续不被重定向. 但问题是在同一个website / web.config文件中执行此操作. 解决方法请尝试以下方法(在 https://stackoverflow.com/a/31955179/2664650获得@Atashbahar奖励):<rewrite>
<rules>
<rule name="Add WWW" stopProcessing="true">
<match url="^(.*)$" />
<conditions>
<add input="{HTTP_HOST}" pattern="^(?!www.)(.*)$" />
</conditions>
<action type="Redirect" url="http://www.{C:0}{PATH_INFO}" redirectType="Permanent" />
</rule>
</rules>
</rewrite> (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc-4 – 如何在MVC4中呈现远程ReportViewer aspx页
- asp.net-mvc – Mvc验证正则表达式只有数字?
- asp.net – 如何获取控制器和操作名称在OnActionExecuting?
- asp.net-mvc – 如何从运行时的强类型列表框架视图的Displa
- webmatrix – ASP.NET页面中的_PageStart.cshtml与_AppStar
- 配置 – ASP.NET Web Api:项目需要SQL Server Express
- asp.net – 在Web.Config的Location Path元素中指定多个目录
- asp.net-mvc – HttpContext和HttpContextWrapper之间的区别
- asp.net-mvc – 为什么ASP.NET MVC上的控制器基于名称?
- 在asp.net中使用加密数据库联接字符串保证数据安全
