在Web服务器上隐藏文件的路径

时间:2013-01-18 03:49:19

标签: asp.net iis-7

我有一个在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

真的打败了目的。我的最终目标是让用户看不到文件的物理路径。

非常感谢任何想法。

谢谢,

1 个答案:

答案 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。但这对你所需要的东西来说太过分了。