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

Форум Apache

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

 

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

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

тема: Обработка ссылки средствами mod_rewrite
 
 автор: mister_pipin   (21.07.2012 в 11:46)   письмо автору
 
 

Всем привет.
Есть ссылка с таким адресом:
http://site.ru/cat/index.php?cat=1&podcat=1&region=1&gorod=2

Подскажите с решением или натолкните на нужную информацию что бы эта ссылка имела вид
http://site.ru/cat/avto/zapchasti/kievskay-oblast/borispol

заранее спасибо

  Ответить  
 
 автор: confirm   (21.07.2012 в 16:46)   письмо автору
 
   для: mister_pipin   (21.07.2012 в 11:46)
 

Это url должен быть типа:
http://site.ru/cat/avto/zapchasti/kievskay-oblast/borispol
а mod_rewrite преобразовывает его в набор GET параметров типа:
cat=1&podcat=1&region=1&gorod=2
с направлением на необходимую страницу.
Только модулю трудно разобраться чему соответствуте Борисполь, и т.п..
То есть это должно быть выглядеть подобно
http://site.ru/1/1/zapchasti/1/2
Если кроме запчастей еще что-то, значит и вместо них id их идентифицирующий.
mod_rewrite, и ниже вашей темы примеров хоть завались.

  Ответить  
 
 автор: mister_pipin   (24.07.2012 в 12:01)   письмо автору
 
   для: confirm   (21.07.2012 в 16:46)
 

Ничего вообще не получается, помогите. Решил начать с самого простого
Вот ссылка
http://site.ru/index.php?page=perv
http://site.ru/index.php?page=vtor


Пытаюсь переделать их в ссылки вида
http://site.ru/perv/
http://site.ru/vtor/


В .htaccess написал
RewriteEngine On
RewriteRule ^([^/]).php$ /?page=$1 [L]


Но ничего не меняется, в чем проблема и как ее решить?
Заранее спасибо

  Ответить  
 
 автор: cheops   (24.07.2012 в 12:53)   письмо автору
 
   для: mister_pipin   (24.07.2012 в 12:01)
 

Не понятно, в адресах
http://site.ru/perv/ 
http://site.ru/vtor/
у вас вообще нет расширения .php, зачем же вы его указываете в регулярном выражении? Кроме того [^/] означает один (любой) символ, кроме /

  Ответить  
 
 автор: mister_pipin   (24.07.2012 в 12:57)   письмо автору
 
   для: cheops   (24.07.2012 в 12:53)
 

Поменял на
RewriteEngine on
RewriteRule ^(.*)$ index.php?page=$1 [L]

Но абсолютно ничего не происходит, использую Денвер

  Ответить  
 
 автор: cheops   (24.07.2012 в 13:26)   письмо автору
 
   для: mister_pipin   (24.07.2012 в 12:57)
 

Под выражение ^(.*)$ у вас попадает и index.php и система уходит в бесконечный цикл (который прерывается по ограничению), нужно добавить условие RewriteRule, которое бы исключило бы преобразование index.php. Кроме того, как проверяете работоспособность полученного адреса?

PS Включите журналирование mod_rewrite - отлаживать будет проще.

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

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