Href链接和链接

时间:2014-02-26 16:36:04

标签: php html

好的,我现在有一点问题,希望有人能帮我解决。

我用html制作了一个网站,在设计完成后我决定在php中拆分它,以便更容易导航并继续编码。

例如:

HTML CODE

<html>
<head></head>
<body></body>
</html>

分手后:

PHP代码

include 'php/head.php';
include 'php/body.php';

如果我不必在另一个文件夹中创建子菜单和类别,那一切都会好的。主要问题是我有这样的文件夹树:

nslife(root)
   images
   css
   js
   php
   novisad(folder that contains the sub categories)
   index.php

好吧所以通过打破代码来构建页面在主索引页面上工作得很好但是在将相同的代码复制/粘贴到另一个新页面之后,这是一个子类别所有的href链接都不起作用

例如: 主索引页面:

<img id="right-img" src="images/baners/baner500x60.jpg">

但是在子文件夹“novisad”的辅助页面中使用它后,图像不会显示。

我知道它必须使用../或//或其他任何东西,但尝试了所有可能性,没有任何作品,如果它适用于一个页面,我不会在另一个页面上工作。

6 个答案:

答案 0 :(得分:3)

潜在解决方案:

  1. 更新所有链接以使用绝对路径,或使用../(向上移动1级)到达正确的目录。或者使用单个/来指示每个路径开头的根目录。

  2. 定义一些常量,例如ROOT_URL,将其设置为您网站的根地址,并将其添加到代码中的每个路径

  3. 使用:$_SERVER['DOCUMENT_ROOT']并将其添加到您的路径
  4. 关于您可能想阅读的主题的

    Here's a good article

答案 1 :(得分:2)

您当前正在使用相对网址,因此当您引用images/baners/baner500x60.jpg时,您需要在与引用该位置的文件相同的目录中放置一个名为images的文件夹。

出于您的目的,请改用绝对网址。像http://www.yourdomain.com/images/baners/baner500x60.jpg这样的东西。无论引用文件的位置如何,它们都将始终引用相同的位置。

答案 2 :(得分:1)

你绝对需要绝对的道路。您的代码将引用类似images/image.jpg的文件,但是从子文件夹中实际路径将是../images/image.jpg。要解决此问题,请使用http://yoursite.com/images/image.jpg。如果您的站点将这些视为外部链接并且不会从中运行脚本,则可能会遇到问题,在这种情况下,您需要找到备用解决方案(该文件夹的不同包含,或修改包含以便您重写)链接取决于子文件夹的深度。)

答案 3 :(得分:0)

对于img src属性,请使用绝对网址而不是相对网址,如下所示:

<img id='right-img' src='http://www.domain.com/nslife/images/baners/baner500x60.jpg'>

答案 4 :(得分:0)

您可以使用完整地址http://url.com/images/images.png或将../images/image.png向上移动一个级别。

答案 5 :(得分:0)

在我的编程中,我设置了一个名为$level = '';的变量,该变量设置在页面顶部。

在顶层是:$ level ='';

子文件夹设置为:$ level ='../';

子子文件夹设置为:$ level ='../../';

等等。然后,您可以使用变量简单地添加所有链接。

$level.'css/style';

因此,您的所有链接都会正确回复。

对于较大的项目,我在我的conn页面上执行此操作:

$db_host = "localhost"; 
    $db_username = "????"; 
    $db_pass = "????"; 
    $db_name = "????";

    $db = new PDO('mysql:host='.$db_host.';dbname='.$db_name,$db_username,$db_pass, array(
    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
    ));

    //$site_url = 'http://'.$_SERVER['SERVER_NAME'];    
    $site_url = 'http://localhost/demo';

    # this page stuff   
    $pg_uri = 'http://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
    $pg_url = 'http://'.$_SERVER['SERVER_NAME'].$_SERVER['SCRIPT_NAME'];
    $this_file = basename($_SERVER['SCRIPT_NAME'], ".php");
    $file_name = basename($_SERVER['SCRIPT_NAME']);

    # urls      
    $u_inc = $site_url.'/inc';  
    $u_panels = $site_url.'/panels';            
    $u_legal = $u_inc.'/legal';
    $u_forms = $u_inc.'/forms';              
    $u_admin = $site_url.'/admin';
    $u_plugin = $site_url.'/plugins';        
    $u_js = $site_url.'/js';    
    $u_regions = $site_url.'/regions';
    $u_menus = $site_url.'/menus';

    # paths
    $p_root = $_SERVER['DOCUMENT_ROOT'];     
    $p_inc = $level.'inc';
    $p_panels = $level.'panels';
    $p_legal = $p_inc.'/legal';              
    $p_forms = $p_inc.'/forms';
    $p_admin = $level.'admin';              
    $p_plugin = $level.'plugins';
    $p_js = $level.'js';                    
    $p_regions = $level.'regions';  
    $p_menus = $level.'menus';

一旦vars被提交到内存,它就会与你的其余编程一起流动。

相关问题