2013-05-08 3 views
1

я имею проблему с апачом модами переписывания, мне нужно сгенерировать запрос SEF с гибкими параметрамиApache Mod Rewrite с гибкими параметрами

пример:

www.myname.com/category.php?p1=itemname&p2=categoryname&p3=color&p4=size

или

www.myname.com/category.php?p1=itemname&p3=color

или

www.myname.com/category.php?p3=color&p4=size

комбинации всегда разные.

Как я могу сделать это динамически?

Я начал с:

RewriteRule ^search/([^/]+)-([^/]+)-([^/]+)$ category.php?p1=$1&p2=$2&p3=$3&p4=$4

Спасибо !!

ответ

0

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

  1. Вы можете Ассинг позиции на нить поиска параметра в URL, что-то вроде: http://www.myname.com/param1-param2-param3-param4
    НО в отсутствии одного из параметров, разделитель символ должен еще появляться в URL:
    http://www.myname.com/--color-size
    это, на мой взгляд, гиперссылка некрасиво

  2. Вы можете оценить использование URL пути Params, возьмите смотреть на what every developer should know about url encoding
    с этой альтернативой URL-адрес может быть что-то вроде:
    http://www.myname.com/item;name=xxx;category=yyy;color=zzz

Я не знаю, как поисковые системы будут рассматривать этот URLs, но я полагаю, что это SEF.

Смежные вопросы