Здесь моя проблема с использованием функции dirname() функции PHP
Позвольте мне сначала объяснить, я работаю на веб-сайте, где я определил константу следующим образом:
define('ROOT', dirname(__FILE__));
Это хорошо работало на общем хостинге, но мне пришлось переместить веб-сайт на выделенный сервер, а теперь некоторые файлы, которые я пытаюсь вызвать, с абсолютной ссылкой return 404. Когда я смотрю, какой путь они используют, появляется следующее:
http://myIp/var/www/myWebsite/[...]/image.jpg
Случается, что моя константа ROOT является "/var/www/myWebsite", но вместо "Замена" моего домена она добавляется в конце. Что не имеет смысла, так как мой Apache VirtualHost отправляет все запросы в "myIp" в локальную папку "/var/www/myWebsite".
Я не знаю, является ли ошибка либо моим PHP-кодом, либо моим Apache VirtualHost.
Спасибо за вашу помощь, я уверен, что это что-то глупое, но я не могу понять, что я сделал неправильно :)
Я думаю, что вы путаете пути сервера с помощью путей к сайту.
Вы не хотели бы использовать dirname, чтобы дать вам путь к веб-ресурсу.
Что вы могли бы сделать, если вы действительно хотите это сделать, это удалить путь к вашему веб-корню.
Это может сработать:
define('ROOT', str_replace('/var/www/myWebsite/', '/', dirname(__FILE__)));
ROOT
конкретно? Вывести относительный сегмент пути сайта из текущего рабочего каталога несколько сложнее.