Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Apache

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как сделать переадресацию страницы сохранив путь?
 
 автор: AdvoGad   (06.09.2011 в 02:18)   письмо автору
 
 

Как сделать что-бы во всех каталогах и подкаталогах при запросе page5.html реальное обращение к скрипту было index.php?s=5

Я делаю это так:

RewriteRule page([0-9]+)\.html index.php?s=$1


Но, при таком коде открывается главная траница сайта, а нужно что-бы именно по тому пути сохранялся путь.

К примеру открываю /kat1/kat2/page5.html - сервер показывал эту страницу /kat1/kat2/ index.php?s=5 (а не главную как делает сейчас)

Каталогов более 1000 прописывать вручную - не вариант(
Заранее спасибо.

  Ответить  
 
 автор: cheops   (06.09.2011 в 10:08)   письмо автору
 
   для: AdvoGad   (06.09.2011 в 02:18)
 

А какие еще правила есть, помимо того, которое вы привели? Не ли такого
RewriteBase / 
если есть, нужно убрать.

  Ответить  
 
 автор: AdvoGad   (06.09.2011 в 10:13)   письмо автору
 
   для: cheops   (06.09.2011 в 10:08)
 

Нет. таких нет.
Весь файл такой:


RewriteEngine On
RewriteCond %{HTTP_HOST} ^site.ru$ [NC]
RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]

RewriteRule page([0-9]+)\.html index.php?s=$1

php_value max_input_time 864000 
php_value max_execution_time 864000


Попробовал убрать всё, оставить только
RewriteEngine On
RewriteRule page([0-9]+)\.html index.php?s=$1

Всё равно показывает /index.php саму главную страницу

  Ответить  
 
 автор: cheops   (06.09.2011 в 10:27)   письмо автору
 
   для: AdvoGad   (06.09.2011 в 10:13)
 

У вас первое правило срабатывает, а до второго просто не доходит дело, поменяйте их местами, а второму правилу добавьте флаг [L] - в случае нахождения соответствия не продолжать выполнение инструкций.
RewriteEngine On 

RewriteRule page([0-9]+)\.html index.php?s=$1 [L]

RewriteCond %{HTTP_HOST} ^site.ru$ [NC] 
RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L] 

php_value max_input_time 864000  
php_value max_execution_time 864000

  Ответить  
 
 автор: AdvoGad   (06.09.2011 в 10:56)   письмо автору
 
   для: cheops   (06.09.2011 в 10:27)
 

Всё равно показывает главную страницу.

  Ответить  
 
 автор: AdvoGad   (06.09.2011 в 16:34)   письмо автору
 
   для: AdvoGad   (06.09.2011 в 10:56)
 

Спасибо, вопрос решен.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования