Перенаправление всех запросов на одну страницу
Собственно, как на 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, время: 07:01. |