【问题描述】404错误
今天在使用fiddler做性能调试时,意外发现3个404(The page cannot be found)错误。浏览器请求了3个脚本,都没有找到。经查实,这三个url确实不存在。但是从请求页面上却没有找到该语句块。后来才发现,问题出在该页面的Master Page中。
【问题分析】
脚本文件位于Root/script中,该Master Page位于Root/Master中,引用了3个js脚本:
<script type="text/javascript" src="../script/Common.js"></script>
然而Web Content Form位于另外一个文件夹Root/Content/Pages中,因此Master Page中的"../script/Common.js"被解析成了"Root/Content/script/Common.js",显然这个路径是不存在的,所以出现404错误。由此我们可以进一步知道:
1.只要Web Content Form与Master Page位于不同级别的子目录,在Master Page中的相对路径都有可能出问题
2.如果两个Web Content Form位于不同的子目录下,又同时使用相同的Master Page,这时不要在Master Page中使用相对路径引用父目录中的资源。