dirname(__FILE__) 在我的域名后添加路径

dirname(__FILE__) adds path after my domain

这是我在使用 PHP 函数 dirname()

时遇到的问题

让我先解释一下,我在一个网站上工作,我在其中定义了一个常量,如下所示:

define('ROOT', dirname(__FILE__));

这在共享主机上运行良好,但我不得不将网站移动到专用服务器上,现在我尝试使用绝对 link return 404 调用一些文件。当我看他们使用什么路径,出现这样的东西:

http://myIp/var/www/myWebsite/[...]/image.jpg

发生的事情是,我的 'ROOT' 常量是“/var/www/myWebsite”,但在 'Replacing' 我的域的位置,它被添加在它的末尾。这没有意义,因为我的 Apache VirtualHost 将所有请求发送到 'myIp' 到本地文件夹“/var/www/myWebsite”。

我不知道错误是来自我的 PHP 代码还是我的 Apache VirtualHost。

谢谢你的帮助,我确定这是愚蠢的事情,但我不知道我做错了什么:)

我认为您混淆了服务器路径和站点路径。

您不会希望使用目录名为您提供 Web 资产的路径。

如果你真的想这样做,你可以做的是删除你的网络根目录的路径。

这可能有效:

define('ROOT', str_replace('/var/www/myWebsite/', '/', dirname(__FILE__)));