Регулярные Выражения В Rewriterule

Тема в разделе "Веб-серверы - Администрирование", создана пользователем retsech, 23 янв 2014.

  1. retsech

    retsech New Member

    Регистрация:
    23 янв 2014
    Сообщения:
    1
    Симпатии:
    0
    Добрый день. Задался вопросом написать .htaccess, для реализации ЧПУ (человеко-понятных урлов)
    Задача в следующем.

    Необходимо разбить URL на части, зная, что они отделяются спец символами.
    А именно, есть URL вида:
    www.site.com/gallery/photo(145,312)[sepia,chb]'4-asc-title

    нужно разбить его на параметры:
    ?page= всё что в начале до символов '()', '[]', 'одинарная кавычка', '-asc-' или '-desc-'
    ?id= всё что в круглых скобках
    ?tg= всё что в квадратных скобках
    ?num= всё что после кавычки
    ?sort=asc&by= всё что после -asc- или -desc-

    Количество параметров и их место в URL'e может меняться, то есть, возможен такой урл:
    www.site.com/gallery/photo'4[sepia,chb]

    после двух дней шаманя с RewriteRule на локальной машине (и даже пару раз получая экран смерти) решил обратиться за помощью.

    Вот, что имею:

    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f

    RewriteRule ^([A-Za-z0-9-_/]+) ?page=$1 [QSA]
    RewriteRule [']([A-Za-z0-9]+) ?num=$1 [QSA]
    RewriteRule \(([A-Za-z0-9,]+)\) ?id=$1 [QSA]
    RewriteRule \[([A-Za-z0-9,]+)\] ?tg=$1 [QSA]
    RewriteRule -desc-([A-Za-z0-9]+) ?sort=desc&by=$1 [QSA]
    RewriteRule -asc-([A-Za-z0-9]+) ?sort=asc&by=$1 [QSA]

    Всё прекрасно работает со строкой вида, когда в переменную ?page= закидывается слэш, то есть с URL вида: site.com/gallery/photo(144)... всё парсится, а с site.com/gallery(145)... заполняется только переменная ?page и всё.

    Помогите найти проблему, пожалуйста.
     
Загрузка...
Похожие Темы - Регулярные Выражения Rewriterule
  1. Katrina
    Ответов:
    1
    Просмотров:
    1.022
  2. christi
    Ответов:
    0
    Просмотров:
    1.216
  3. StarikStarik2705
    Ответов:
    23
    Просмотров:
    5.347
  4. slavon-x86
    Ответов:
    1
    Просмотров:
    1.785
  5. ioni
    Ответов:
    2
    Просмотров:
    2.729

Поделиться этой страницей