我有一个在iis上托管文档的网页。当链接到这些文件的例子说我去
www.webpage.com/Documents/testdocuments/innerfolder/1.pdf
我收回文件并在地址栏中输入完整的网址。有没有办法浏览到
www.webpage.com/Documents/testdocuments/innerfolder/1.pdf
,并获得例如
www.webpage.com/Webdocs/1.pdf
作为浏览器中的url。我的理论是make
www.webpage.com/Documents
虚拟目录,但我不确定我是否仍然能够以
的形式访问我的文件www.webpage.com/Documents/testdocuments/innerfolder/1.pdf
或者如果我必须使用例如
www.webpage.com/Webdocs/testdocuments/innerfolder/1.pdf
真的打败了目的。我的最终目标是让用户看不到文件的物理路径。
非常感谢任何想法。
谢谢,
答案 0 :(得分:3)
由于您只想将一个路径映射到另一个路径,因此应使用IIS url rewriting。
<rewrite>
<rules>
<rule name="Map Docs" stopProcessing="true">
<match url="^Webdocs/([_0-9a-z-]+)" />
<action type="Rewrite" url="Documents/testdocuments/innerfolder/{R:1}" />
</rule>
</rules>
</rewrite>
另一种选择是asp.net url routing。但这对你所需要的东西来说太过分了。