我想将绝对路径转换为相对路径。
这是当前绝对代码的样子
$sitefolder = "/wmt/";
$adminfolder = "/wmt/admin/";
$site_path = $_SERVER["DOCUMENT_ROOT"]."$sitefolder";
// $site_path ="//winam/refiller/";
$admin_path = $site_path . "$adminfolder";
$site_url = "http://".$_SERVER["HTTP_HOST"]."$sitefolder";
$admin_url = $site_url . "$adminfolder";
$site_images = $site_url."images/";
因此,例如,上面的代码会为您提供
的网站网址www.temiremi.com/wmt
并访问该文件将提供
www.temiremi.com/wmt/folder1.php
我想要做的是我要屏蔽temiremi.com/wmt
并将其替换为dolapo.com,因此它会说www.dolapo.com/folder1.php
是否可以通过相对路径来做到这一点。
我是初学者编码员。我付钱给别人为我做点什么,但我想现在就自己做。
答案 0 :(得分:2)
问题是你的问题虽然看起来非常具体,却缺少一些重要的细节。
如果您发布的脚本始终被执行,并且您始终希望它转到delapo.com
而不是temiremi.com
,那么您只需要替换
$site_url = "http://".$_SERVER["HTTP_HOST"]."$sitefolder";
与
$site_url = "http://www.delapo.com/$sitefolder";
$_SERVER["HTTP_HOST"]
变量将返回所请求站点的域。因此,如果用户转到www.temiremi.com/myscript.php
(假设您发布的脚本保存在名为myscript.php
的文件中),则$_SERVER["HTTP_HOST"]
只返回www.temiremi.com
。
另一方面,您可能无法始终重定向到同一个域,或者您可能希望脚本能够轻松适应不同的域,而无需在将来挖掘代码层。如果是这种情况,那么您需要一种方法来确定您希望链接到哪个域。
如果您在temiremi.com
上托管了一个网站,但是您希望它看起来像是从delapo.com
访问,那么这不是PHP可以解决的问题。您必须先delapo.com
重定向到temiremi.com
,或者只是首先托管delapo.com
。
如果情况恰好相反,您希望在delapo.com
上托管网站,但您希望用户访问temiremi.com
,那么简单地重写链接并不是一个足够复杂的答案。此策略会在用户单击链接时将用户重定向到其他域。相反,您需要设置代理才能转发信息。代理脚本的复杂程度各不相同,但最简单的就是:
<?php
$site = file_get_contents("http://www.delapo.com/$sitefolder");
echo $site;
?>
所以你看,我们真的需要更多关于为什么你需要这个脚本及其预期目的的信息,以便为你提供帮助。
答案 1 :(得分:0)
这在HTTP服务器配置中要容易得多。例如,使用Apache's VHost
答案 2 :(得分:0)
我不确定你的目标是什么,这看起来不像是通往相对路径的绝对路径,而是通往另一条路径的绝对路径。
您是否总是试图将“www.temiremi.com/wmt/”更改为“delapo.com”?如果是这种情况,您只需要简单的字符串替换而不是$ _SERVER变量或路径函数。
$alteredPath = str_replace("www.temiremi.com/wmt/", "delapo.com", $oldPath);
OR
$alteredParth "www.delapo.com/" . basename($oldPath)
如果我误解请解释,我不知道你是否需要这个更强大/通用,你有点把我扔到一个循环“dolapo.com”(当我第一次想到你的头衔时,我最初想到将路径与$ _SERVER中的值进行比较并删除公共部分,)
如上所述,如果您只是想让URL显示用户(在地址栏或链接中)看起来不同PHP就无法做到这一点。