HTML基本URL和链接

时间:2010-12-07 08:02:57

标签: php javascript jquery html 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并将base / application1应用于页面链接?

我有这样的问题:

<a href="page1.html">Click me!</a>

当用户点击此页面时,页面将转到:

http://www.myhomeurl.com/page1.html

而不是:

http://www.myhomeurl.com/application1/page1.html

8 个答案:

答案 0 :(得分:4)

您可以使用基本标记并对其进行更改,以便所有网址都可以相对于应用程序库。

<!DOCTYPE HTML>
<html>
  <head>
    <base href="http://www.myhomeurl.com/application1/" />
  </head>
  <body>
    <!-- content -->
  </body>
</html>

可在http://www.w3schools.com/tags/tag_base.asp

找到更多信息 基本标记http://www.w3.org/TR/html4/struct/links.html#h-12.4上的

编辑 w3c规范还说明了如何从其他位置提取图片。

答案 1 :(得分:2)

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

<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 :(得分:1)

在链接HTTP SERVER中使用此变量

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

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

答案 3 :(得分:0)

你应该有这样的东西

root 

   root/css
   root/js

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

root只会是///您的网站名称

http://www.myhomeurl.com

答案 4 :(得分:0)

为您的css,js资源定义两个常量,为链接定义一个,并在整个应用程序中使用它们: -

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

因此,如果基本网址发生任何变化,您只能查看这些常量。

答案 5 :(得分:0)

对于这个问题,我有点迟了,但我看到没有一个答案能真正做到(我认为)你需要的。

我建议您使用(正如其他人已经说过的)这样的基本网址:

<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”目录,在文件结构中向上一步。

希望这会有所帮助:)

答案 6 :(得分:0)

我会用/和URI的顶级目录开始所有链接。这使他们相对于域。然后将协议和域放在基础中。

答案 7 :(得分:0)

使用基本网址时,不应将www.放入其中。

接下来,如果您的网址为mysite.com且您的应用位于mysite.com/app,那么当您使用示例mysite.com/app时,您将基数设置为info.html mysite.com/app/info.html

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