Как правильно указать ссылку на путь?
Прописываю ссылки на сайте, возникла проблема с ссылкой на домашнюю страницу.
На остальные страницы сайта прописываю в таком виде и все работает корректно.
<a href="vss.html" class="dotted-link">Форма 2</a>
Но если сделать так же для домашней страницы, т.е
<a href="index.html" class="dotted-link">Форма</a>
или так
<a href="./index.html" class="dotted-link">Форма</a> |
<a href="./index.html" class="dotted-link">Форма</a>
получаю ошибку
"GET /index.html HTTP/1.1" 404 -
все начинает работать если ссылку на домашнюю страницу задаю в явном виде, как
"127.0.0.1:3000"
Но вопрос, будет ли это работать при распаковке данного сайта на сервере?
Рабочие ссылки из примеров:
127.0.0.1:3000 - домашняя страница(Форма)
127.0.0.1:3000/vss.html - страница 2(Форма 2)
Дополнительно:
Есть корень сайта / его и указывайте
<a href="/index.html" class="dotted-link">Форма</a> |
<a href="/index.html" class="dotted-link">Форма</a>
А еще лучше настроить путь на индексную страницу на http-сервере, чтобы по адресу корня / перенаправляло на index.html.
На apache это настраивается в корневом файле htaccess:
DirectoryIndex index.html
тогда в ссылках достаточно ссылаться на корень:
<a href="/" class="dotted-link">Форма</a>
- В таком виде у меня не работает ссылка 127.0.0.1:5000/index.html, ну т.е даже если я вручную вобью это в строку, домашняя страница при запуске сервера у меня выглядит именно как 127.0.0.1:5000, а вот уже остальные страницы как 127.0.0.1:5000/vss.html и т.п
- А вот в таком виде <a href="/" class="dotted-link">Форма</a> ссылка стала работать без настройки apache, спасибо!
- Значит, вам подойдет.
<a href="/" class="dotted-link">Форма</a>
Вообще, странно, что к index.html нельзя напрямую обращаться. У вас реально существуют файлы html в каталоге сервера, или пути к страницам формирует CMS, просто приписывая html к путям? - реально существуют файлы html в каталоге templates
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для указания пути к файлу или директории в PHP, можно воспользоваться функцией realpath(). Эта функция позволяет получить абсолютный путь к указанному файлу или директории.
Пример использования функции realpath():
$path = "/var/www/html/index.php"; $absolute_path = realpath($path); if ($absolute_path) { echo "Абсолютный путь к файлу index.php: " . $absolute_path; } else { echo "Файл не найден или произошла ошибка"; }
В данном примере мы указываем путь к файлу index.php и с помощью функции realpath() получаем его абсолютный путь. Если файл найден, то выводим абсолютный путь, иначе выводим сообщение об ошибке.
Если нужно указать путь к текущей директории, можно воспользоваться константой __DIR__:
$current_directory = __DIR__; echo "Текущая директория: " . $current_directory;
Этот код выведет абсолютный путь к текущей директории скрипта.
Также можно использовать относительные пути, например:
$relative_path = "../images/photo.jpg"; $absolute_path = realpath($relative_path); if ($absolute_path) { echo "Абсолютный путь к файлу photo.jpg: " . $absolute_path; } else { echo "Файл не найден или произошла ошибка"; }
Этот пример показывает, как можно указать относительный путь к файлу photo.jpg и получить его абсолютный путь с помощью функции realpath().
Таким образом, для указания пути к файлам или директориям в PHP можно использовать функцию realpath() для получения абсолютного пути, а также константу __DIR__ для указания текущей директории.