如何将html中的所有链接指向网站的根文件夹?

时间:2015-07-29 01:31:23

标签: html asp.net server directory-structure

由于我被要求在公司的服务器下开发一个网站,我发现很难将资源重定向到该网站的根目录。如果我使用“/”指定根目录,则所有javascripts,images和css文件都可以在localhost中完美使用。但是,如果我尝试连接到公司的服务器,一切都会失败,因为包含该网站的所有材料的文件夹只是该服务器的子目录。我试图使用base链接到root 。它适用于javascript和图像但不知何故css文件无法使用。当我使用inspect元素时,css的链接似乎是../../stylesheet/some.css,而javascript的源代码似乎是javascript / master.js。我想知道是否有人可以帮助我解决问题,因为网站在子文件夹数量方面相当复杂,我不可能使用.. / .. / .. / ....来引用资源。以下是我的项目的结构。 structure

2 个答案:

答案 0 :(得分:1)

  1. 在.aspx中 使用HttpRequest.ApplicationPath(ref MSDN

    <script runat="server"> protected void Page_Load(object sender, EventArgs e) { Label1.Text = Request.ApplicationPath; Image1.ImageUrl = Request.ApplicationPath + "/images/Image1.gif"; Label2.Text = Image1.ImageUrl; } </script>

  2. 在.cs 使用Server.MapPath(“〜/ bin”)

答案 1 :(得分:0)

似乎很难实现这一目标。我将使用的方法是将文件夹复制到路径。自&#34; /&#34;指向该服务器的根目录,似乎这种方法更直接。 我添加了一个appsetting。

  <appSettings>
    <add key="link" value="/a/b/c/d/e/myfolder/"/>
  </appSettings>

每当我需要引用资源时,我都会使用appsetting中的变量来获取路径。例如,

<link rel="stylesheet" href="<%= ConfigurationManager.AppSettings["link"] %>stylesheet/master.css" />

这不是最好的解决方案,但我认为它很容易达到目的,并且易于维护,所以我只是在这里发布。