我可以在一个会员数据库下运行多个网站吗?

 2023-02-17    367  

问题描述

我正在尝试计划一系列网站,这些网站都分享了许多资源,如CSS/JScript/图像/内容等,因为我想运行相同应用程序和IIS配置文件下的所有网站,但取决于使用的URL,更改主页和主题/皮肤.

asp.net隶属关系数据库似乎是在考虑到这一目标的时候,因为它允许您设置多个应用程序,但是我相信它建造的目的是允许在虚拟目录下运行的应用程序/文件夹,而不是单独的URL.

我可以在一个会员数据库下运行多个网站吗?

是否可以将URL映射到特定应用程序?

提前感谢
Al

推荐答案

是的,可以执行此操作.在配置中,使用提供程序的ApplicationName.这样,所有数据都将保存在同一数据库中,但是通过在大多数表中找到的应用程序ID保持单独.

您的共享资源的一种可能性可以将它们放在一个位置,并且您可以通过在第一个位置中的文件中使用完整的URL指向您的其他网站的该位置.

另一种可能性是在同一域中的虚拟目录中托管一个应用程序,尽管您可以使用Web.config继承进入一些有趣的问题.如果您向两个应用程序展示预期的域名,它会有所帮助.

在一个应用程序中:
Web.config 1:

<roleManager enabled="true">
    <providers>
        <clear/>
        <add name="AspNetSqlRoleProvider" applicationName="/ApplicationOne"
            ...add other properties here as standard
     />
    </providers>
</roleManager>
<membership>
    <providers>
        <clear/>
        <add name="AspNetSqlMembershipProvider" applicationName="/ApplicationOne"
            ...add other properties here as standard
         />
    </providers>
</membership>

在您的其他应用程序中:
Web.config 2:

<roleManager enabled="true">
    <providers>
        <clear/>
        <add name="AspNetSqlRoleProvider" applicationName="/ApplicationTwo"
            ...add other properties here as standard
     />
    </providers>
</roleManager>
<membership>
    <providers>
        <clear/>
        <add name="AspNetSqlMembershipProvider" applicationName="/ApplicationTwo"
            ... add other properties here as standard
         />
    </providers>
</membership>

其他推荐答案

最简单的解决方案将包括样式表,具体取决于页面正在执行的URL,使用:

Request.ServerVariables("SERVER_NAME")

IE(伪):

if Request.ServerVariables("SERVER_NAME") = "http://www.domain1.com" then
  include stylesheet1
else
  include stylesheet2
end if

您需要查找从URL中提取域名的函数,以便它运行良好.

以上所述是小编给大家介绍的我可以在一个会员数据库下运行多个网站吗?,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://77isp.com/post/34114.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。