 
			
				26.12.2011, 01:53
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Модератор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.04.2010 
					
					
					
						Сообщений: 3,417
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
			
			 
				Перенаправление всех запросов на одну страницу
			 
			
		
		
		
		Собственно, как на apache сделать перенаправление любого запроса на одну страницу, чтобы при этом страница знала, откуда произошло перенаправление? 
 
Уже понял, что mod_rewrite, но ещё не понял, как это сделать с его помощью. 
 
Сервер-сайд на php, если что... 
		
	
		
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				26.12.2011, 02:40
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 ⊞ Развернуть 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 11.01.2010 
					
					
					
						Сообщений: 1,810
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Обычно делается так: 
	
 
	| 
		 Код: 
	 | 
 
	RewriteCond %{REQUEST_FILENAME} !-f  # если не файл
RewriteCond %{REQUEST_FILENAME} !-d # и не папка
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] | 
 
	
 
 
 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				26.12.2011, 04:38
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Модератор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.04.2010 
					
					
					
						Сообщений: 3,417
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 B@rmaley.e><e, спасибо) Огромное. 
		
	
		
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				27.12.2011, 04:58
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Модератор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.04.2010 
					
					
					
						Сообщений: 3,417
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 B@rmaley.e><e, а можно при этом не палить пользователю, что собственно, перенаправление было? 
 
Иными словами, можно ли на каждый вопрос возвращать одну и ту же страницу? Подозреваю, что тут уже нужно будет прописывать не в .htaccess, а где-то глубже... 
		
	
		
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				28.12.2011, 11:32
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Сам по себе 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 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.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				28.12.2011, 11:54
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 ⊞ Развернуть 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 11.01.2010 
					
					
					
						Сообщений: 1,810
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от trikadin
			
		
	 | 
 
	| 
		а можно при этом не палить пользователю, что собственно, перенаправление было?
	 | 
 
	
 
 Какое перенаправление? RewriteRule изменяет адрес для самого апача, юзеру никаких Location'ов не возвращается.  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				29.12.2011, 00:47
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Модератор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.04.2010 
					
					
					
						Сообщений: 3,417
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от B@rmaley.e><e
			
		
	 | 
 
	| 
		Какое перенаправление? RewriteRule изменяет адрес для самого апача, юзеру никаких Location'ов не возвращается.
	 | 
 
	
 
 Эм, я, наверное, что-то не то делаю, но у меня адрес меняется.  
		
	
		
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				29.12.2011, 01:58
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 что-то знаю 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 24.05.2009 
					
					
					
						Сообщений: 5,176
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		я делаю всегда так: 
RewriteRule ^(.*)$ index.php?%{QUERY_STRING}&include_file=%{REQUEST_FILENAME} [NC,L]
на сервер приходит переменная в $_GET['include_file'] вот в ней полный путь к файлу/папке которую юзер запросил  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				29.12.2011, 02:01
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Модератор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.04.2010 
					
					
					
						Сообщений: 3,417
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Да дело уже не в том, чтобы получить этот адрес - это уже, слава богу, решено - дело в том, как не перенаправлять пользователя. 
		
	
		
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				29.12.2011, 02:03
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 что-то знаю 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 24.05.2009 
					
					
					
						Сообщений: 5,176
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от trikadin
			
		
	 | 
 
	| 
		 дело в том, как не перенаправлять пользователя.
	 | 
 
	
 
 Менять у него адрес в адресной строке? или прозрачно что бы он не видел?  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 |  
  |