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

Форум Apache

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

 

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

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

тема: два типа URL (mod_rewrite)
 
 автор: Александр1209   (16.10.2011 в 16:35)   письмо автору
 
 

Подскажите, пожалуйста, как написать правила для mod_rewrite (.htaccess) чтобы
1. URL вида category/subcategory.html переводились в index.php?q=category/subcategory
2. Но при этом если URL имеет вид category/subcategory/product/moytovar.html (в адресе есть /product/) то переводить надо в index.php?q=category/subcategory&product=moytovar

Вложенность может быть любая.

Пробовал так:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)(\/product\/)(.*)\.html$ index.php?q=$1&product=$3 [L,QSA]
RewriteRule ^(.*)\.html$ index.php?q=$1 [L,QSA]


Не работает как надо. Подозреваю, что надо использовать какие-то флаги, но как не знаю.

  Ответить  
 
 автор: Александр1209   (16.10.2011 в 18:42)   письмо автору
 
   для: Александр1209   (16.10.2011 в 16:35)
 

Вроде удалось решить так:

RewriteCond %{REQUEST_URI} ^(.*)(\/product\/)(.*)\.html$
RewriteRule ^(.*)(\/product\/)(.*)\.html$ index.php?q=$1&product=$3 [L,QSA]

RewriteCond %{REQUEST_URI} ^(.*)[^(\/product\/)](.*)\.html$
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

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

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