最浪费的重定向之一发生在 URL 中缺少尾随斜杠 (/) 时,否则应该有一个。例如,转到 http://example.com/action导致 301 响应包含重定向到 http://example.com/action/ (注意添加的斜杠)。
那么它背后的原因是什么以及在 Asp.Net 应用程序的情况下如何解决它。任何想法!
最佳答案
它是 StaticFileHandler
的一部分在 asp.net 中,所以我认为您无法(轻松)更改它。这正是静态文件的默认 HTTP 处理程序所做的。
行为的来源是可以在 applicationhost.config 中找到的以下行:
<add name="StaticFile" path="*" verb="*" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule">
我怀疑这里导致重定向的特定模块是
DefaultDocumentModule
,但这需要进一步调查才能确认。您可以通过删除
DefaultDocumentModule
来测试它。 , 将此行更改为<add name="StaticFile" path="*" verb="*" modules="StaticFileModule,DirectoryListingModule">
它可能会破坏您的网站,但重定向会消失。
关于asp.net - 为什么在 URL 中缺少尾部斜杠 (/) 时会发生重定向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29468778/