За последние 24 часа нас посетили 56411 программистов и 1683 робота. Сейчас ищут 1311 программистов ...

Переадресация .htaccess

Тема в разделе "PHP для новичков", создана пользователем zevilz, 13 мар 2014.

  1. zevilz

    zevilz Активный пользователь

    С нами с:
    14 июн 2010
    Сообщения:
    182
    Симпатии:
    0
    Сейчас ЧПУ в каталоге основано вот так:
    категории
    Код (Text):
    1. RewriteRule ^catalog/([A-Za-z0-9-_]+)/$ catalog.php?cat=$1
    подкатегории
    Код (Text):
    1. RewriteRule ^catalog/([A-Za-z0-9-_]+)/([A-Za-z0-9-_]+)/$ catalog.php?cat=$1&subcat=$2
    Как сделать, чтобы:
    1. при переходе на /catalog.php?cat=<категория> переадресовывало на /catalog/<категория>/
    2. при переходе на /catalog.php?cat=<категория>?subcat=<подкатегория> переадресовывало на /catalog/<категория>/<подкатегория>/

    сейчас получаю либо ничего, либо цикличную переадресацию.

    Заранее спасибо за ответы.
     
  2. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    Что мешает сделать переадресацию в php-коде?
     
  3. zevilz

    zevilz Активный пользователь

    С нами с:
    14 июн 2010
    Сообщения:
    182
    Симпатии:
    0
    а как php поймет используется или нет ЧПУ? Ему ведь только передаются переменные
     
  4. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    через $_SERVER['REQUEST_URI'] не?

    Добавлено спустя 1 минуту 35 секунд:
    Попробуйте вывести на экран $_SERVER, может там есть искомый url
     
  5. zevilz

    zevilz Активный пользователь

    С нами с:
    14 июн 2010
    Сообщения:
    182
    Симпатии:
    0
    типа сравнить $_SERVER['REQUEST_URI'] с адресом в ЧПУ, а если не совпадает, то сделать переадресацию?
     
  6. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    вам решать :)
     
  7. zevilz

    zevilz Активный пользователь

    С нами с:
    14 июн 2010
    Сообщения:
    182
    Симпатии:
    0
    а как правильней?
    Например, с каталогом я сделал вот так:
    Код (Text):
    1. RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /catalog\.php\ HTTP/
    2. RewriteRule ^catalog\.php$ http://%{HTTP_HOST}/catalog/ [R=301,L]