Mod_rewrite преобразование когда переменная является массивом

Тема в разделе "Веб-серверы - Администрирование", создана пользователем itwork, 2 окт 2010.

Статус темы:
Закрыта.
  1. itwork

    itwork Гость

    можно ли как с помощью mod_rewrite преобразовать
    из cсылки
    Код (Text):
    domain/index.php?cat[0]=a&cat[1]=b&cat[2]=c&cat[...]=...
    вот в такую ЧПУ, когда индекс cat может быть неограничен
    Код (Text):
    doamin/a/b/c/...
     
  2. vital

    vital Больной Компом Детектед
    Команда форума Web Team

    Регистрация:
    29 янв 2006
    Сообщения:
    2.470
    Симпатии:
    27
    можно
     
  3. itwork

    itwork Гость

    отлично, но хотелось какой-нибудь примерчик
     
  4. vital

    vital Больной Компом Детектед
    Команда форума Web Team

    Регистрация:
    29 янв 2006
    Сообщения:
    2.470
    Симпатии:
    27
    Код (Text):
    RewriteEngine On
    RewriteRule ^(.*)$ index.php [L,QSA]
    Код (PHP):
    ?php
    /* Функция для очистки массива от пустых строк */
    function Clear_array($array)
    {
    $c=sizeof($array);
    $tmp_array=array();
    for($i=0; $i<$c; $i++)
    {
    if (!(trim($array[$i])==""))
    {
    $tmp_array[]=$array[$i];
    }
    }
    return $tmp_array;
    }

    $param=$_SERVER['REQUEST_URI'];
    $params=explode("/",$param);
    $params=Clear_array($params);
    ?>
    т.е. суть в том, что если колв-во параметров неограничено, то их надо обрабатывать самому скриптом.
     
  5. itwork

    itwork Гость

    вроде стало кабы понятно,
    но появился другой вопрос, хотел проанализировать поледний слэш
    т.е хотел написать, если у ссылки есть последний слэш то срабатывает 1-ое правило, иначе 2-е
    Код (Text):
    RewriteRule ^(.*)[/]$ a.php?path=$1 [qsa]
    RewriteRule ^(.+[^/])$ a.php?file=$1 [qsa]
    но ни как не могу понять где ошибку допутил, если в ссылке есть последний сэш то срабатывают оба правила
     
  6. vital

    vital Больной Компом Детектед
    Команда форума Web Team

    Регистрация:
    29 янв 2006
    Сообщения:
    2.470
    Симпатии:
    27
    RewriteCond?
     
  7. itwork

    itwork Гость

    а причем тут условия, разве без них не обойтись?
     
  8. vital

    vital Больной Компом Детектед
    Команда форума Web Team

    Регистрация:
    29 янв 2006
    Сообщения:
    2.470
    Симпатии:
    27
    Просто как вариант.
    А про слеш.. Так уберите его вообще из условия.
    RewriteRule ^(.*)+[/]$ a.php?path=$1 [qsa]
    RewriteRule ^(.*)$ a.php?file=$1 [qsa]
     
Загрузка...
Похожие Темы - Mod_rewrite преобразование когда
  1. WolfEater
    Ответов:
    0
    Просмотров:
    779
  2. jager
    Ответов:
    1
    Просмотров:
    1.295
  3. PahaStar
    Ответов:
    0
    Просмотров:
    985
  4. PahaStar
    Ответов:
    0
    Просмотров:
    845
  5. ask40
    Ответов:
    0
    Просмотров:
    966
Статус темы:
Закрыта.

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