我有以下问题:
网址为 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
答案 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