我正在尝试通过安装相同的XAMPP版本并下载文件和mysql来创建网站的本地副本。
在网络服务器上,文件保存在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设置?或者我把它放在错误的目录上?请帮忙。谢谢!
答案 0 :(得分:1)
啊那就是问题所在。当您拥有/作为第一个字符时,它假定您从根目录开始,但在本地计算机上,您不能将其保留在根目录中。但是如果你删除斜杠/它应该可以在您的计算机和真实网站上使用。
首先写道:(
substr($string, 1)
该函数将返回不带第一个字符的字符串,在您的情况下为斜杠
编辑:应该是$string
,我忘了php中的变量有$
)
答案 1 :(得分:0)
是的。使用绝对路径。定义一个保存基本URL的常量。
define('BASE_URL', 'http://mysite.com/');
并包括使用
$src = BASE_URL.'/js/prototype.js'
你也可以检查preg_match是否有/在开头,并使用substr()来减去它或使用preg_replace()
$src = preg_replace('#^\/$#m', '', $src);