0

我有一个在 iis 上托管文档的网页。当链接到这些文件的例子时说我去

www.webpage.com/Documents/testdocuments/innerfolder/1.pdf

我取回文件并在地址栏中显示完整的 url。有没有办法可以浏览

www.webpage.com/Documents/testdocuments/innerfolder/1.pdf

,并得到例如

www.webpage.com/Webdocs/1.pdf

作为浏览器中的 url。我的理论是

www.webpage.com/Documents

一个虚拟目录,但我不确定我是否仍然能够访问我的文件

www.webpage.com/Documents/testdocuments/innerfolder/1.pdf

或者如果我不得不使用例如

www.webpage.com/Webdocs/testdocuments/innerfolder/1.pdf

这确实违背了目的。我的最终目标是让用户看不到文件的物理路径。

任何想法将不胜感激。

谢谢,

4

1 回答 1

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。但这对于您需要的东西来说太过分了。

于 2013-01-18T04:10:27.527 回答