【问题标题】:Can I replace domain.com/images/ to something like @/images/?我可以将 domain.com/images/ 替换为 @/images/ 之类的东西吗?
【发布时间】:2012-04-16 22:15:19
【问题描述】:

您好,我正在本地使用 Microsoft WebMatrix 制作一个基本的 HTML 网站。完成网站后,我会将其上传到我的虚拟主机。

现在我正在使用 http://localhost:80/ 来查看我的网站,并且我正在使用这种代码...

<!--#include virtual="include/html/menu.html" -->

... 包含菜单链接,这样我只需更改 1 个文件即可更改整个站点的菜单。

这就是问题所在。菜单链接必须有完整的地址,如...

<a href="http://domain.com/service/index.html">Service</a>

以确保它们在每个页面上都能正常工作。不是……

<a href="../service/index.html">Service</a>

我可以将http://localhost:80/service/index.html 作为完整的地址链接,这样就可以了。但是,在将网站上传到 domain.com 时,链接会被破坏,我每次上传新版本的网站时都必须更改它们。

有没有这样的...

<a href="@/service/index.html">Service</a>

...符号(例如@)是网站所在的任何域?

【问题讨论】:

  • &lt;a href="&lt;?=$_SERVER['SERVER_NAME']?&gt;/service.html"&gt;Service&lt;/a&gt;
  • 如果你会用php,我对WebMatrix一无所知...(无法编辑评论)

标签: html


【解决方案1】:

虽然以http://etc 开头是绝对路径,以../ 开头是相对于相关文档,但以/ 开头将是相对于您网站的根目录。

所以你的例子就是&lt;a href="/service.html"&gt;Service&lt;/a&gt;

【讨论】:

  • 太棒了!也感谢您详细解释。
  • 如果您的应用没有安装在域的根目录下,而是安装在子文件夹中,这将不起作用。如果您的应用程序从http://www.thesite.com/ 运行,它将工作。但是如果您需要在http://www.thesite.com/appFolder/ 中安装您的应用程序,它将失败。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-09
相关资源
最近更新 更多