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__)));
这是我在使用 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__)));