Помощник
|
Требуется решение: перенаправление с несуществующих страниц на индекс |
profican
|
Сообщение
#1
|
||
|
|
||
|
|||
marv |
5.11.2013, 23:43;
Ответить: marv
Сообщение
#2
|
|
Если php скрипт получает 3а регион в виде параметра, например site/index.php?location=3a (с помощью .htaccess его можно привести к виду site/3a), то скрипт проверяет есть ли такой регион в списке регионов и если нет то задаёт дефолтный (например 1a) или выводит страницу выбора региона и завершает выполнение.
Если у вас используется MVC фреймворк то там обычно уже есть встроенные механизмы для таких задач. Если вы хотите получить адреса такого вида - 3a.site.com, то вам скорей всего понадобится VDS и настроить http сервер чтобы он запускал текущий скрипт при обращении к хосту *.site.com. А в php можно будет потом получить регион с помощью $_SERVER['HTTP_HOST']. Самый простой и универсальный вариант - дописать в файле .htaccess ErrorDocument 404 /404.php И в файле 404.php обработать запрошенный url и отобразить то что вам нужно.Но так лучше не делать. P.S. Напишите подробнее на базе чего вы делаете сайт (или это самописный скрипт), и вам скажут что-то конкретное Сообщение отредактировал marv - 5.11.2013, 23:48 |
|
|
profican
|
Сообщение
#3
|
|
marv,
php скрипт получает 3а регион в виде параметра, например site/index.php?location=3a ... скрипт проверяет есть ли такой регион в списке регионов и если нет то задаёт дефолтный (например 1a) Вот дефольтный, как раз, задавать в адресной строке и не надо. Надо задать искомый (3а), а показать (!) - дефольтный (index). -------------------- Успехов! ♥ Тестирование сайтов ♠ |
|
|
marv |
6.11.2013, 7:59;
Ответить: marv
Сообщение
#4
|
|
profican, я имел в виду примерно следующее поведение скрипта
$location = $_GET['location']; if(!in_array($location, $regions_array)) // Если выбранного региона нет в массиве добавленных, устанавливаем дефолтный { $location = "default"; // или $location = $regions_array[0]; } // Далее выводим контент учитывая регион Т.е. редиректа нет, адресная строка не меняется, замена производится внутри скрипта) P.S. При таком подходе для поисковых систем стоит добавить тег (потому что вы получите бесконечное количество дублей) <link rel="canonical" href="правильный адрес страницы"/>
Сообщение отредактировал marv - 6.11.2013, 8:11 |
|
|
profican
|
Сообщение
#5
|
|
|
Думаю, что так и сделаем - как ни крутились, но без обращения к БД сразу же из индекса не обойтись. Хотя и приходится "заплатить" несколько лишних микросекунд.
-------------------- Успехов! ♥ Тестирование сайтов ♠ |
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Быстрая индексация страниц сайта и обратных ссылок - 2Index | 38 | 2Index | 6639 | Вчера, 12:56 автор: 2Index |
|
Требуется помощь по сайту на "ВордПресс" Закрылся доступ в панель администратора |
15 | Tia2 | 2348 | 17.4.2024, 0:54 автор: diviner99 |
|
Требуется копирайтер-постер | 11 | Hanj | 2591 | 2.4.2024, 12:40 автор: Skyworker |
|
требуется помощь с themasoftware (Темапостером) | 0 | Taylor | 623 | 16.3.2024, 18:41 автор: Taylor |
|
Требуется контент-менеджер | 1 | Grimov | 1160 | 8.2.2024, 9:54 автор: projectadmin |
Текстовая версия | Сейчас: 19.4.2024, 23:51 |