0

我正在尝试通过安装相同的 XAMPP 版本并下载文件和 mysql 来创建网站的本地副本。

文件保存在 Web 服务器上,http://www.website.com/html但可通过 website.com 访问

我在这个目录中创建了自己的http://localhost/website.com/html

我的脚本有问题,因为所有的 css 和 javascript 都有一个前面的“/”

src="/js/prototype.js"

我不能很好地解释它,但这是一个示例问题

脚本原来有这个

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

这不适用于我的本地安装,但适用于在线版本。但是,如果我在本地安装中删除第一个 / 它就可以了。

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

此链接也适用于在线版本

<a id="logout" href="/logout.php">logout</a>

但在我的本地版本上,它只链接到,http://localhost/logout.php但它应该链接到http://localhost/website.com/html/logout.php

当我删除第一个 / 时,它的工作原理有多少,我可能会错过一些。

是否有用于解决此问题的 php 设置?还是我把它放在了错误的目录?请帮忙。谢谢!

4

2 回答 2

1

啊,这就是问题所在。当您将 / 作为第一个字符时,它假定您从根目录开始,但在您的本地计算机上,您不会将其保存在根目录中。但是,如果您删除斜线 / 它应该在您的计算机和真实网站上都可以使用。

首先写道:(

substr($string, 1)

该函数将返回不带第一个字符的字符串,在您的情况下为斜杠

编辑:应该是$string,我忘记了php中的变量有$

)

于 2013-07-15T12:14:21.880 回答
0

是的。使用绝对路径。定义一个包含基本 url 的常量。

define('BASE_URL', 'http://mysite.com/');

并在包括使用

$src = BASE_URL.'/js/prototype.js'

您还可以检查 preg_match 是否在开头有 / 并使用 substr() 减去它或使用preg_replace()

$src = preg_replace('#^\/$#m', '', $src); 
于 2013-07-15T12:20:15.387 回答