允许使用www和不使用www的多个域上的会话

时间:2016-07-02 00:34:30

标签: asp.net url web-config

我有多个域指向一个Web应用程序。以下是一些示例,以便我可以在我的示例中引用它们。

  • www.mydomain.com
  • sub.mydomain.com
  • www.affiliatedomain.com

ASP.NET允许web.config设置来完成此任务:

<httpCookies httpOnlyCookies="true" domain=".mydomain.com" />

这允许我在www.mydomain.commydomain.com域之间共享会话。完善!除了它只适用于一个域。

我探索的另一条途径是网址重写。我可以插入重写规则以确保只访问www个网址,但这样做(至少我写的那个)适用于域,但是www.附加到sub.mydomain.com导致失败www.sub.mydomain.com - 失败了。如果有人知道如何比我更好地制定网址重写网址,那么这个选项仍然有用。

最后,要明确的是,我不需要在所有域中共享会话(我知道这是不可能的)。我只想在有www的情况下在同一个域中共享域名。

例如:www.mydomain.com mydomain.com

www.affiliatedomain.comaffiliatedomain.com

sub.mydomain.com可以独立存在,只要它前面没有www.

1 个答案:

答案 0 :(得分:0)

我认为重写选项最适合您的情况,这样的事情应该可以解决子域重写问题。

<rewrite>
    <rules>
        <rule name="Redirect domain.com to www" patternSyntax="Wildcard" stopProcessing="true">
            <match url="*" />
            <conditions>
                <add input="{HTTP_HOST}" pattern="^domain.com$" />
            </conditions>
            <action type="Redirect" url="http://www.domain.com/{R:0}" />
        </rule>
    </rules>
</rewrite>