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

Форум Apache

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

 

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

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

тема: mod_rewrite переписать /?click на /counter.php
 
 автор: Unreal   (06.10.2009 в 22:03)   письмо автору
 
 

Подскажите пожалуйста как переписать все запросы которые идут на http://site/?clicklog=1&dfs=23 (итд дальше параметры) на http://site/counter.php и сюда дальше чтобы все остальное передалось?

RewriteEngine On
#RewriteBase   /
RewriteRule ^/?clicklog(.*) counter.php?$1 [L]

такое не работает :(

  Ответить  
 
 автор: mihdan   (07.10.2009 в 10:24)   письмо автору
 
   для: Unreal   (06.10.2009 в 22:03)
 

RewriteCond работает с параметрами строки запроса

  Ответить  
 
 автор: tuder   (07.10.2009 в 14:18)   письмо автору
 
   для: Unreal   (06.10.2009 в 22:03)
 

Сам копал что-то подобное. Накопал. :-)

В твоём случае это будет вроде:

RewriteCond %{QUERY_STRING}  ^clicklog=([0-9]+)(&|$)dfs=([0-9]+)
RewriteRule ^.* /counter.php?%1? [NC]


Знак вопроса "?" в конце строки подстановки означает, что не нужно подставлять исходную строку запроса.


А я преобразовывал основные урлы старого движка в новый, где не поддаётся логике

RewriteCond %{QUERY_STRING} ^id=5$
RewriteRule ^.* /news/r-1.html? [NC]


Поэтому просто при нахождении строки с параметрами движку передаётся чпу, а в строке остаётся старый урл. Можно поставить [R=301] - тогда будет переадресация и в строке сразу будет новый урл.

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

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