URL中的点和“ /”引起404(未找到)

时间:2019-03-26 22:23:45

标签: javascript asp.net angular model-view-controller

您好,Stackoverflow社区,从我的打字稿代码拨打电话时,我收到404(未找到)消息:

http://localhost:9090/api/employees/ERNEST A/L I.G. MILLER,/1/1/1/1/1

但是当我打电话时它确实起作用。

http://localhost:9090/api/employees/ERNEST MILLER,/1/1/1/1/1

我尝试使用encodeURIComponent编码我的呼叫,但是没有编码DOTS并给我同样的404错误。

 http://localhost:9090/api/employees/ERNEST%20A%2FL%20I.G.%20MILLER,/1/1/1/1/1

然后我尝试在通话结束时添加结尾的“ /”,但这也不起作用。

http://localhost:9090/api/employees/ERNEST%20A%2FL%20I.G.%20MILLER,/1/1/1/1/1/

我什至尝试了其他关于stackoverflow的解决方案,但是没有一个对我有用。

我尝试过但没有奏效的解决方案。

<system.webserver>
<modules runAllManagedModulesForAllRequests="true">


<system.web>
<httpRuntime relaxedUrlToFileSystemMapping="true" />

<add name="ApiURIs-ISAPI-Integrated-4.0"
path="/people/*"
verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS"
type="System.Web.Handlers.TransferRequestHandler"
preCondition="integratedMode,runtimeVersionv4.0" />

我在我的项目中使用ASP .Net,MVC 5.2.4.0和Angular 6。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

尝试将其添加到您的web.config

<modules runAllManagedModulesForAllRequests="true" />

答案 1 :(得分:0)

在配置路由器时,不建议添加点和'/'。 您可以轻松地对它们进行编码和解码,而不用放入包含那些特殊字母的原始值。

因此将值编码为Base64字符串,并将其放在url上,然后在该url上对其进行解码并使用该值。

通常,可以将键或引导输入路由中(但应避免使用特殊字符),但是在您的情况下,最好对该字符串进行编码并通过解码使用。