针对不同用户的HTML HREF相对路径解析方式不同

时间:2018-10-29 18:16:20

标签: html

我有一个奇怪的问题...

我有一个内部端点,该端点返回一个简单的网页,其中包含指向具有相对路径的端点的链接...

https://URL/APP/Api/Describe返回下面的html

<html>
<body>
<h1>Object List</h1>
<li><a href='./Describe/thing'>thing</a></li>
...
</body>
</html>

对于MOST用户,链接正确显示为(并显示正确的结果) https://URL/APP/Api/Describe/thing

但对于其他用户,我们得到: https://URL/APP/Api/Describe/Describe/thing 自然会出错。

这发生在Chrome和IE中... (Windows Server 2016,IIS 10 +)

为什么这样做呢?有人有主意吗?

1 个答案:

答案 0 :(得分:0)

这是我的解决方案:

        string z_prefix = "./Describe/";
        char[] z_search = { '/', '\\' };
        if (Url.Request.RequestUri.OriginalString.LastIndexOfAny(z_search) == Url.Request.RequestUri.OriginalString.Length - 1)
        {
            z_prefix = "./";
        }