Mvc 起始页使用带有域的 azure 上的区域
Mvc start page using areas on azure with domain
我有一个使用区域的 mvc 网络应用程序。在我的开发者机器上,网站以正确的页面启动。在我的 vs studio 的设置中,我已将启动操作设置为我的区域。我无法让它在 azure 上运行。
起始区域为身份验证。
在 azure 上,我有一个自定义域,我们称它为“mydomain.co.za”。
当我调用域时,它说“找不到资源。”
我必须打电话给“mydomain.co.za/authentication”。
我需要它通过 mydomain.co.za 路由到身份验证
Web 配置中是否需要特定的配置?请协助。
我认为可以通过重写规则来实现,但是,我正在努力适应它。
目前我有一个从 http 转换为 https 的规则,但不确定该区域适合
<directoryBrowse enabled="false" />
<httpRedirect enabled="false" destination="https://mydomain.co.za" exactDestination="true" />
<rewrite>
<rules>
<rule name="http to https" enabled="true" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://www.mydomain.co.za/{R:1}" redirectType="SeeOther" />
</rule>
</rules>
</rewrite>
我对 azure 很陌生,所以我也不确定这是否需要在网络配置中完成,或者我是否可以在 azure 网络应用程序设置中配置它?
看了你的描述,我断定你要的是Areas里面的A.cshtml
页作为起始页。 Areas 区域中的 Startup Page 需要身份验证。如果没有通过验证,请到authentication.cshtml
进行登录验证。
如果我的总结没有错误,你需要注意的点不是rewrite
。应该是实际的routing configuration
。具体操作步骤我将在下面展示截图。已经全部部署到azure上进行测试,测试顺利通过
RouteConfig.cs
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
var route = routes.MapRoute("Default", "{controller}/{action}/{id}", new { controller = "Home", action = "Index", id = UrlParameter.Optional },
namespaces: new[] { "areaproj.Areas.Admin.Controllers" }
);
route.DataTokens["area"] = "Admin";
}
Areas/Admin/Views/Home/Index.cshtml
(启动页)
public ActionResult Index()
{
bool IsAuth = false;
if (IsAuth)
return View();
else
return View("~/Areas/Admin/Views/Home/test.cshtml");
}
我有一个使用区域的 mvc 网络应用程序。在我的开发者机器上,网站以正确的页面启动。在我的 vs studio 的设置中,我已将启动操作设置为我的区域。我无法让它在 azure 上运行。
起始区域为身份验证。
在 azure 上,我有一个自定义域,我们称它为“mydomain.co.za”。 当我调用域时,它说“找不到资源。”
我必须打电话给“mydomain.co.za/authentication”。
我需要它通过 mydomain.co.za 路由到身份验证 Web 配置中是否需要特定的配置?请协助。
我认为可以通过重写规则来实现,但是,我正在努力适应它。
目前我有一个从 http 转换为 https 的规则,但不确定该区域适合
<directoryBrowse enabled="false" />
<httpRedirect enabled="false" destination="https://mydomain.co.za" exactDestination="true" />
<rewrite>
<rules>
<rule name="http to https" enabled="true" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://www.mydomain.co.za/{R:1}" redirectType="SeeOther" />
</rule>
</rules>
</rewrite>
我对 azure 很陌生,所以我也不确定这是否需要在网络配置中完成,或者我是否可以在 azure 网络应用程序设置中配置它?
看了你的描述,我断定你要的是Areas里面的A.cshtml
页作为起始页。 Areas 区域中的 Startup Page 需要身份验证。如果没有通过验证,请到authentication.cshtml
进行登录验证。
如果我的总结没有错误,你需要注意的点不是rewrite
。应该是实际的routing configuration
。具体操作步骤我将在下面展示截图。已经全部部署到azure上进行测试,测试顺利通过
RouteConfig.cs
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
var route = routes.MapRoute("Default", "{controller}/{action}/{id}", new { controller = "Home", action = "Index", id = UrlParameter.Optional },
namespaces: new[] { "areaproj.Areas.Admin.Controllers" }
);
route.DataTokens["area"] = "Admin";
}
Areas/Admin/Views/Home/Index.cshtml
(启动页)
public ActionResult Index()
{
bool IsAuth = false;
if (IsAuth)
return View();
else
return View("~/Areas/Admin/Views/Home/test.cshtml");
}