Здравствуйте, столкнулся с такой проблемой.
У меня есть заглушка-презентация на сайт, которая должна отображаться на первой странице.
Для этого в .htaccess
Заставка открывается, по переходу на сайт, к примеру, нажимаю на логотип <a href="/">logo</a> и так как ссылка посылает опять в корень сайта, снова открывается заставка. И тоже самое в меню "Главная" шлет опять на /. Помогите решить такую проблему.
Я бы решал подобную задачу через на главной странице сайта, выдавая разный контент в зависимости от имени домена, содержащегося в http-заголовке Referrer. Ну то есть если человек пришел на главную с внутренней страницы этого же сайта, то вместо заставки показывать ему основной контент.
shmel79, в вашей ситуации еще можно попробовать все внутренние ссылки на корень сайта указывать не в виде корневого слеша
/
а с именем индексного файла:
/index.php
. Тогда при входе на сайт у вас будет открываться enter.html, а при переходе по ссылке - главная страница сайта в HostCMS.
Но это решение, мягко скажем, через задницу.
По первому способу вариантов может быть много.
Точнее, способ определения направления входа на главную страницу через referrer всего один, а вот способов реализации смены заставки может быть очень много, в зависимости от требований заказчика и фантазии исполнителя.
Я постараюсь попозже накидать какой-нибудь более-менее универсальный примерчик.
Да вариант указать везде index.php не работает, ещё потому что, пытаясь попасть в /admin/ выдает: Forriben "You don't have permission to access /admin/ on this server."
И косяк возникает с указанием в меню раздела "/" - должен быть объязательно.
Чтобы пускало в /admin/ надо в папке /admin/ положить свой htaccess в котором указать что индексом все-таки является index.php а не enter.html
Раздел / в структуре вам при этом ничем не мешает.
Обещанный пример с реферрером будет позже - пока руки до него не доходят.
В поддержке посоветовали использовать ваш первый способ. Через $_SERVER['HTTP_REFERER'].
Почитал про него. Я так понял, что нужно создать новый файл index.php, где будет обрабатываться $_SERVER['HTTP_REFERER'], а тот который сейчас переименовать, к примеру в index2.php.
И если пользователь зайдет сработает index.php, который определит, отправить на enter.html или index2.php ? Правильно?