Я пытаюсь решить мою проблему с путем ресурса в Php. В файле header.php
Я включаю скрипты и таблицы стилей, но когда я require_once('../templates/header.php');
в файле login.php
от views
каталог Я получаю код ошибки 404 на всех моих ресурсах, потому что все файлы должны быть в подкаталоге views
direcroty. Как я могу решить эту проблему?
Дорожка:
/var/www/reg/templates/header.php
— путь к заголовку
/var/www/reg/views/login.php
— путь к логину
/var/www/reg/js/script.js
— путь к JS
/var/www/reg/css/style.css
— путь к CSS
в соответствии с вашей файловой структурой
внутри header.php
попробуйте так:
<link href="/reg/css/style.css" rel="stylesheet" />
<script src="/reg/js/script.js" ></script>
Как я уже проверял, это работает для меня.
Это то, как я, вероятно, сделал бы это, не уверен, что лучшая практика, но похоже на то, как работает WordPress, IE
В вашем файле индекса (в reg/
dir или в конфигурационном файле, если он у вас есть):
define('SITEPATH', dirname(__FILE__).'/');
Тогда вы можете требовать файлы как это:
require_once(SITEPATH . 'templates/header.php');
Затем, когда вы вызываете ваши файлы ресурсов, вы можете сделать что-то похожее на это:
<script src="<?php echo SITEPATH; ?>js/script.js"></script>
Но, на самом деле, вещи бэкэнда не должны быть в файлах шаблонов, а потому, что ваши каталоги отличаются от того, как я их выложил.