
![]() |
Здравствуйте Гость ( Вход | Регистрация ) |
|
|
|
![]() ![]() ![]() |
![]() |
|||||||
![]() Новичок ![]() Профиль Группа: Пользователь Сообщений: 5 Пользователь №: 30912 На форуме: Карма: ![]() |
Собственно, вопрос: как сделать перенаправление всех запросов к серверу на одну страницу? Уже понял, что это имеет отношение к mod_rewrite, но ещё не совсем понял, как его использовать. + нужно, чтобы страница знала, откуда было сделано перенаправление (например, подстановка в query-string). Серверный язык - php. Как это возможно реализовать?
Спустя 9 часов, 21 минута, 47 секунд (26.12.2011 - 10:26) kent666 написал(а): Ты может не правильно задаешь вопрос! К примеру сайт www.site.ru www.site.ru/home/edit www.site.ru/blog/first www.site.ru/catalogue/ Все эти запросы будут обращаться к одному файлу, а именно к index.php! Если у тебя включен мод mod_rewrite то для запроса www.site.ru/home/edit home - это значение первой переменной GET edit - это значение второй переменной GET А
Сервер смотрит какие были переданы значения переменных GET и делает соответствующие обработки Спустя 17 часов, 24 минуты, 21 секунда (27.12.2011 - 03:50) trikadin написал(а): kent666, честно говоря, не совсем понял. Я уже нашёл решение проблемы, но хотелось бы понять поподробнее, о чём вы говорите. Как получить адрес в виде гет-массива? Можно пример кода? Спустя 6 часов, 22 минуты, 24 секунды (27.12.2011 - 10:13) kent666 написал(а): trikadin думаю тебе будет не лишним почитать вот это http://irbis-team.com про ЧПУ или мод mod_rewrite написано вот тут http://irbis-team.com/15/4/11 ![]() Спустя 7 часов, 29 минут, 59 секунд (27.12.2011 - 17:43) trikadin написал(а): kent666, за сайт большое спасибо, почитаю внимательно. Про перенаправление уже нашёл, теперь у меня новый вопрос (хе-хе), про который я просто не знаю, в какую сторону идти. Можно ли не перенаправлять, а возвращать страницу? То есть явного перенаправления, видного браузеру и клиенту, не происходит, но страница отдаётся другая. Пример: в корне сайта лежит файл index.php, а клиент запрашивает, например, /other/url.php. Но вместо /other/url.php ему отдаётся index.php из корня. Но явного перенаправления не происходит. Пока в голову приходит лишь использование ошибки 404, но от этого тянет говнокодом) Спустя 11 минут, 58 секунд (27.12.2011 - 17:55) kent666 написал(а): trikadin тебе надо понять что тебе надо! читай http://irbis-team.com если ты не хочешь что бы пользователь открывал другие файлы кроме ndex.php, то в этих файлах надо при загрузке поставить редирект! Ты в файле /other/url.php делаешь редирект на index.php Спустя 22 минуты, 1 секунда (27.12.2011 - 18:17) trikadin написал(а):
Да уже понял вроде бы) Мне нужен не редирект, мне нужно возвращать другую страницу. При этом, чтобы url-адрес оставался тем же. Спустя 16 часов, 43 минуты, 9 секунд (28.12.2011 - 11:00) kent666 написал(а):
Это возможно при использовании массива POST! (переменные не передаются в адресной строке) Или AJAX но тут асинхронная передача! Т.е. страница остается та же и сама подгружает необходимые данные с сервера не обновляясь! Спустя 7 дней, 9 часов, 59 минут, 14 секунд (5.01.2012 - 20:59) trikadin написал(а): kent666, позволю себе заметить, что само по себе использования AJAX-а никак на адресную строку не влияет. Влияет использования History API, но тут возникает проблема загрузки нужной страницы с сервера, с которой я и борюсь. Т.е. с помощью js можно поставить любой url в адресную строку, но если попытаться открыть его как обычный путь (скопировать в адресную строку и нажать enter, например), может быть ошибка. Поэтому я хочу перехватывать запрос и отдавать одну и ту же страницу на каждый. Проблема решена, тема закрыта, если что.. |
||||||
![]() |
![]() ![]() ![]() |