Перенаправление всех запросов на одну страницу
Собственно, как на apache сделать перенаправление любого запроса на одну страницу, чтобы при этом страница знала, откуда произошло перенаправление?
Уже понял, что mod_rewrite, но ещё не понял, как это сделать с его помощью. Сервер-сайд на php, если что... |
Обычно делается так:
Код:
RewriteCond %{REQUEST_FILENAME} !-f # если не файл |
B@rmaley.e><e, спасибо) Огромное.
|
B@rmaley.e><e, а можно при этом не палить пользователю, что собственно, перенаправление было?
Иными словами, можно ли на каждый вопрос возвращать одну и ту же страницу? Подозреваю, что тут уже нужно будет прописывать не в .htaccess, а где-то глубже... |
trikadin забыл упомянуть, что нужно еще сохранить запрос по которому пришли...
Мой вариант: http://rewr002.jcase.ru/sdvdsv/test1.php?a=ewfw&b=ewef Файлы: .htaccess RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?q=$1 [L,QSA,R=301] index.php <?php session_start(); unset($_SESSION['get']); $_SESSION['get'] = $_GET; header('location: test2.php'); ?> test2.php <?php session_start(); echo '<pre>'; print_r($_SESSION); echo '</pre>'; ?> |
Цитата:
|
Цитата:
|
я делаю всегда так:
RewriteRule ^(.*)$ index.php?%{QUERY_STRING}&include_file=%{REQUEST_FILENAME} [NC,L]на сервер приходит переменная в $_GET['include_file'] вот в ней полный путь к файлу/папке которую юзер запросил |
Да дело уже не в том, чтобы получить этот адрес - это уже, слава богу, решено - дело в том, как не перенаправлять пользователя.
|
Цитата:
|
Часовой пояс GMT +3, время: 13:18. |