繁体   English   中英

如何将单独对根 URL 的调用重定向到子路径

[英]how to redirect calls to root URL alone to a sub path

我将 .net core web api 作为网站托管在 iis 中,并将 angular app 作为应用程序添加到同一个网站。 在此处输入图片说明

我的应用程序 url 是 "http://example.com/angularapp" ,现在如果用户尝试使用 url "http://example.com/" 那么我希望他们被重定向到 "http://example.com/角度应用程序”。 注意:我的 api 网址是这样的 - “http://example.com/api/xyz”,我不希望它受到影响。 我在本地环境中尝试过的 URL 重写规则在此处输入图片说明

注意:模式不会匹配 http 和主机名。 你最好先学习如何使用url rewrite模块

我不确定您是否知道如何编辑 web.config,因此我将显示添加正确规则的 GUI。

在此处输入图片说明

它会将http://example.com/重定向到http://example.com/angularapp 但是,如果 url 是http://example.com ,它不会重定向。 我不确定您是否要重定向http://example.com ,所以这只是一个提醒。

如果尚未安装,请使用此处的下载将 URL 重写模块添加到 IIS。

安装后,在 IIS 中选择您的站点,您应该会看到“URL 重写”作为选项之一: 在此处输入图片说明

打开它并单击“添加规则...”并添加一个空白的入站规则。 您可以在此处配置重写规则以在您的站点周围自动路由请求。 在您的情况下,正则表达式模式^http://example.com/$会起作用,但是您可能希望查看改进/扩展您的重写规则以解决诸如自动重定向到 HTTPS、强制尾随斜杠之类的问题等等。

将操作设置为重写并将重写 URL 定义为您希望匹配请求指向的位置,在本例中为http://example.com/angularapp

请注意,上述模式只会匹配http://example.com/ ,因此您的 API 请求不会受到影响。

这个终于成功了在此处输入图片说明

正则表达式 $^ 表示“无”,URL 重写不会验证 http 和主机名,而是验证 http 和主机名之后的任何内容。 所以,在这种情况下,我们只期望“Nothing”。 对于这种情况,我们正在重写要附加到 URL 的应用程序名称。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM