1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программирован. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление
  2. Чат codeby в telegram перезагрузка. Обсуждаем вопросы информационной безопасности и методы защиты информации, программирование. Задавайте свои вопросы и комментируйте чужие. Подробнее ...

    Скрыть объявление

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

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

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

    itwork Гость

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

    vital Больной Компом Детектед

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

    itwork Гость

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

    vital Больной Компом Детектед

    Репутация:
    0
    Регистрация:
    29 янв 2006
    Сообщения:
    2.432
    Симпатии:
    40
    Код:
    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 Гость

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

    vital Больной Компом Детектед

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

    itwork Гость

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

    vital Больной Компом Детектед

    Репутация:
    0
    Регистрация:
    29 янв 2006
    Сообщения:
    2.432
    Симпатии:
    40
    Просто как вариант.
    А про слеш.. Так уберите его вообще из условия.
    RewriteRule ^(.*)+[/]$ a.php?path=$1 [qsa]
    RewriteRule ^(.*)$ a.php?file=$1 [qsa]
     
Загрузка...
Статус темы:
Закрыта.

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