Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.12.2011, 01:53
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Перенаправление всех запросов на одну страницу
Собственно, как на apache сделать перенаправление любого запроса на одну страницу, чтобы при этом страница знала, откуда произошло перенаправление?

Уже понял, что mod_rewrite, но ещё не понял, как это сделать с его помощью.

Сервер-сайд на php, если что...
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #2 (permalink)  
Старый 26.12.2011, 02:40
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Обычно делается так:
Код:
RewriteCond %{REQUEST_FILENAME} !-f  # если не файл
RewriteCond %{REQUEST_FILENAME} !-d # и не папка
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
Ответить с цитированием
  #3 (permalink)  
Старый 26.12.2011, 04:38
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

B@rmaley.e><e, спасибо) Огромное.
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #4 (permalink)  
Старый 27.12.2011, 04:58
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

B@rmaley.e><e, а можно при этом не палить пользователю, что собственно, перенаправление было?

Иными словами, можно ли на каждый вопрос возвращать одну и ту же страницу? Подозреваю, что тут уже нужно будет прописывать не в .htaccess, а где-то глубже...
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #5 (permalink)  
Старый 28.12.2011, 11:32
Аватар для Serg_pnz
Сам по себе
Отправить личное сообщение для Serg_pnz Посмотреть профиль Найти все сообщения от Serg_pnz
 
Регистрация: 09.06.2009
Сообщений: 963

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>';
?>

Последний раз редактировалось Serg_pnz, 28.12.2011 в 11:35.
Ответить с цитированием
  #6 (permalink)  
Старый 28.12.2011, 11:54
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Сообщение от trikadin
а можно при этом не палить пользователю, что собственно, перенаправление было?
Какое перенаправление? RewriteRule изменяет адрес для самого апача, юзеру никаких Location'ов не возвращается.
Ответить с цитированием
  #7 (permalink)  
Старый 29.12.2011, 00:47
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Сообщение от B@rmaley.e><e
Какое перенаправление? RewriteRule изменяет адрес для самого апача, юзеру никаких Location'ов не возвращается.
Эм, я, наверное, что-то не то делаю, но у меня адрес меняется.
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #8 (permalink)  
Старый 29.12.2011, 01:58
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

я делаю всегда так:

RewriteRule ^(.*)$ index.php?%{QUERY_STRING}&include_file=%{REQUEST_FILENAME} [NC,L]
на сервер приходит переменная в $_GET['include_file'] вот в ней полный путь к файлу/папке которую юзер запросил
Ответить с цитированием
  #9 (permalink)  
Старый 29.12.2011, 02:01
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Да дело уже не в том, чтобы получить этот адрес - это уже, слава богу, решено - дело в том, как не перенаправлять пользователя.
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #10 (permalink)  
Старый 29.12.2011, 02:03
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от trikadin
дело в том, как не перенаправлять пользователя.
Менять у него адрес в адресной строке? или прозрачно что бы он не видел?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
backboneJS, дождаться выполнения всех AJAX запросов. anty Библиотеки/Тулкиты/Фреймворки 1 28.12.2011 04:30
Скрипт счетчика тормозит когда вделаю страницу активной denisOgr jQuery 1 30.10.2011 16:15
Как можно совместить 2 "одинаковые javascript но разные внутри" в одну страницу?..ато rashid86 Элементы интерфейса 2 25.04.2011 22:49