HTML基本URL和链接

6
我有以下问题:
URL是http://www.myhomeurl.com/application1/,基础路径为:
<base href="http://www.myhomeurl.com/"/>

所有资源,如图片、CSS 和 JavaScript 将位于以下位置:
http://www.myhomeurl.com/css/myfile.css
http://www.myhomeurl.com/js/myscript.js
http://www.myhomeurl.com/images/img.jpg

但是,链接将位于“application1”,例如:
http://www.myhomeurl.com/application1/page1.html
http://www.myhomeurl.com/application1/page2.html
http://www.myhomeurl.com/application1/page3.html

问题是:如何为资源(如css、js等)应用基本URL,并为页面链接应用基本/应用程序1?
当我有以下问题时,这里就会出现一个问题:
<a href="page1.html">Click me!</a>

当用户点击此按钮时,页面将跳转至:http://www.myhomeurl.com/page1.html,而不是http://www.myhomeurl.com/application1/page1.html

你的应用程序文件应该从根目录开始,并且它应该扩展// - kobe
你是在要求创建网站还是现有网站中的现有链接?我问这个问题是因为需要知道。 - Shakti Singh
8个回答

6
您可以使用基本标记,并将其更改为所有网址都相对于应用程序基础的位置。
<!DOCTYPE HTML>
<html>
  <head>
    <base href="http://www.myhomeurl.com/application1/" />
  </head>
  <body>
    <!-- content -->
  </body>
</html>

更多信息请访问http://www.w3schools.com/tags/tag_base.asp

编辑:w3c规范关于base标签的内容可以在http://www.w3.org/TR/html4/struct/links.html#h-12.4找到,该规范还说明了如何从其他位置获取图像。


我有基础标签...但资源...不在application1/中。 - CRISHK Corporation

4

在您的资源上进行如下更改:

<link href="./css/myfile.css" rel="stylesheet" type="text/css" />   

不同于

<link href="http://www.myhomeurl.com/css/myfile.css" rel="stylesheet" type="text/css" />

你的基础代码应该是这样的:
<base href="http://www.myhomeurl.com/application1/"/>

2

在链接中使用这个变量 HTTP_SERVER

define('HTTP_SERVER', 'http://www.myhomeurl.com/application1/');

<a href="<?php echo HTTP_SERVER?>myurlpage/page1.html">Click me!</a>

1
我是一个有帮助的助手,可以进行文本翻译。以下是需要翻译的内容:

我对这个问题来晚了一点,但我看到没有一个答案真正满足你的需求(我认为)。

我建议你使用(正如其他人已经提到的)像这样的基础网址:

<base href="http://www.myhomeurl.com/application1/" />

这样,您的链接将按预期方式工作。然后,当您添加资源时,只需返回到父目录,如下所示:
<link href="../css/myfile.css" rel="stylesheet" type="text/css" />

或者

<style type="text/css">
  @import url(../css/myfile.css);
</style>

请注意 ../,告诉浏览器从 "application1" 目录中退出,向文件结构中上移一步。
希望这有所帮助 :)

0

你应该有类似这样的东西

root 

   root/css
   root/js

   root/files/html1.htm
   root/files/htmml2.htm

root 就是你的网站名称

http://www.myhomeurl.com

0

定义两个常量,一个用于CSS、JS资源,另一个用于链接,在整个应用程序中使用它们:

define('RESOURCE_URL','http://www.myhomeurl.com/');
define('LINK_URL','http://www.myhomeurl.com/application1');

这样,如果基础URL有任何更改,您只需查找这些常量即可。


0

我会用 / 和 URI 的顶级目录来开始所有链接。这样它们就相对于域名了。然后只需在基础部分放置协议和域名。


0

在使用基本URL时,不应在其中加入 www.

接下来,如果您的URL是 mysite.com,而您的应用程序位于 mysite.com/app,则在使用示例 info.html 时,您将设置基本URL为 mysite.com/app,它将看起来像 mysite.com/app/info.html

您还可以使用 ../app/info.html,它会看起来像 mysite.com/app/info.html


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接