define('HOME',dirname(__ FILE__)。'/');仅适用于开发网站

时间:2015-03-04 22:25:03

标签: php

我改变了我的目录结构,因此我需要将所有包含链接调整为相对。我能做到这一点的唯一方法是放置

define('HOME', dirname(__FILE__) . '/' );
在我的index.php文件中

并从那里调整相关链接。但是,这仅适用于我的开发站点。如果我将整个事物移动到一个实际站点上,比如说,作为一个子目录,它就会搞砸了。例如,在我的开发站点上,项目的URL是

C:\xampp\htdocs\darkerslate\index.php. 

在我的实际网站上,我将其作为子目录:

http://mywebsite.com/darkerslate/index.php. 

问题是,在HOME定义如下的情况下,index.php的任何链接现在都指向:

http://mywebsite.com/home/myname/public_html/darkerslate/index.php. 

如何将项目的主目录定义为index.php,以便在我想将项目放在子目录中时它会起作用?

1 个答案:

答案 0 :(得分:0)

__DIR__与文件名有关,但与您用于在浏览器中访问脚本的URL完全无关。它在您的开发网站上运行的事实完全是巧合。

如果您要查找用于访问脚本的当前URI,可以使用$_SERVER['REQUEST_URI']