(решено) почти работает RewriteRule

Главные вкладки

Аватар пользователя zman zman 7 августа 2011 в 15:02

Приветствую друпаллеров.

Удобный модуль node_type_filter добавляет в урл переменную для доп.фильтрации по типу новости
Вопрос: как эту переменную коррэктно прописать в юзерфрэндли урл посредством htaccess и RewriteRule

1 действие (стандартное)
урл для скрипта http://www.ru/?q=geo/rossiya
урл внешний http://www.ru/geo/rossiya
преобразуется стандартным drupal'еровским правилом
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

2 действие
модуль node_type_filter добавляет вторую переменную, например type=news
внешний урл http://www.ru/geo/rossiya/news
урл для скрипта http://www.ru/?q=geo/rossiya&type=news

Вопрос: как эту переменную правильно прописать в clean url посредством RewriteRule

для 2го действия правило сделал
и при наличии двух переменных (?q и &type) в урле правило работает
RewriteRule ^(.*)/(.*)$ index.php?q=$1&type=$2 [L,QSA]
но при наличии только одной переменной (?q) правило не работает

[L] убирал не помогло

С уважением.

Комментарии

Аватар пользователя zman zman 15 августа 2011 в 19:55

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

 
  #
  # ссылка для скрипта /?q=geo/rossiya&type=news
  # внешняя ссылка   /geo/rossiya/news
  #
  RewriteRule ^(geo.*)/(.*)/(news.*)$ index.php?q=$1/$2&type=$3 [L,QSA]
  RewriteRule ^(geo)/([a-z]+)/(blog)$ index.php?q=$1/$2&type=$3 [L,QSA] #более безопасный вариант

  # стандартное правило drupal'а
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_URI} !=/favicon.ico
  RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

неудобность в перечислении всех категорий материалов (news, blog)
хотя с другой стороны так безопасней