【问题标题】:Azure multiple websites, subdomains and virtual directoriesAzure 多个网站、子域和虚拟目录
【发布时间】:2016-04-14 10:38:24
【问题描述】:

我在 IIS 上的专用 Windows 服务器中有一个前端应用程序和一个管理应用程序。 admin 有一个 images 虚拟目录指向前端 images 目录,这样通过 admin 上传的任何图片都会上传到前端目录。管理员也是前端网站的子域。我正在尝试在 Azure 中复制这种结构。

到目前为止,我已经尝试过:

  1. 创建了两个不同的 Web 应用程序并映射外部域,例如 www.contoso.com 和 admin.contoso.com,没有问题。但是如果我需要在管理网络应用程序中创建一个虚拟目录,它不允许我引用管理网络应用程序的 site\wwwroot 文件夹之外的任何内容。

  2. 在同一个 Web 应用中创建了两个目录,但找不到将 www.contoso.com 和 admin.contoso.com 映射到同一个 Web 应用中的两个不同目录的方法。

  3. 将前端上传到 site\wwwroot 并创建一个名为 admin 的子目录并将 www.contoso.com 和 admin.contoso.com 映射到同一个 Web 应用程序,并使用 url 重写指向 admin 子目录到 admin.contoso.com。但是还是找不到合适的方法在admin中添加虚拟目录指向前端。

我正在使用新门户,并且应用程序使用 ASP.NET MVC,顺便说一下 .NET 4.5。

谁能指出我如何管理和配置具有子域和虚拟目录的多个网站的正确方向?

【问题讨论】:

    标签: asp.net asp.net-mvc azure subdomain virtual-directory


    【解决方案1】:

    试试这个 - 在你的第一个配置中。转到 Azure Web 应用程序设置 -> 应用程序设置 -> 虚拟应用程序和目录并设置新文件夹的物理路径(站点/wwwroot 除外)。还要检查应用程序复选框并重新启动网站一次。

    【讨论】:

    • 我已经尝试过了。我收到一条错误消息,提示虚拟路径的物理路径无效。正如我所说,任何 Web 应用程序的物理路径都是 D:\home\site\wwwroot,但两个 Web 应用程序的名称不同(前端和管理员)。所以我尝试了 D:\frontend\site\wwwroot 和 D:\frontend\home\site\wwwroot ,其中 frontend 是网络应用程序的名称。你知道如何指定两个应用程序之间的物理路径吗?
    【解决方案2】:

    我使用了我的问题中的第三种方法,我为管理员创建了一个子目录。我仍然想知道如何使用其他方法来做到这一点。

    所以我已经为管理员创建了一个虚拟应用程序,它已映射到子域。我试图为 admin/content/images/frontend 添加一个虚拟目录以指向前端站点\wwwroot\content\images。我在单行虚拟目录设置中执行此操作,该设置抱怨路径无效。所以我必须为每个映射到 site\wwwroot\admin\content 的 admin/content 创建一个虚拟目录,将 admin/content/images 映射到 site\wwwroot\admin\content\images,最后映射到 admin/content/images/frontend到有效的网站\wwwroot\content\images。

    【讨论】:

    • 尽管此解决方案有效,但 Microsoft 建议使用 Azure Blob 存储来托管静态内容。
    猜你喜欢
    • 2018-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-24
    • 1970-01-01
    • 1970-01-01
    • 2015-02-04
    • 1970-01-01
    相关资源
    最近更新 更多