.htaccess & мультиязычность

Тема в разделе "PHP", создана пользователем pixelranger, 22 мар 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. pixelranger

    pixelranger

    Регистр.:
    24 июн 2006
    Сообщения:
    386
    Симпатии:
    117
    Есть код
    Код:
    RewriteRule ^([^/]+)/catalog/([^/]+)/?$	index.php?module=Storefront&lang=$1&category=$2 [L,QSA]
    Видно что ссылка обрабатывается в виде http://site.com/ru/catalog/prod

    Но мне надо чтобы для домена
    http://site.ru ссылка была такая
    http://site.ru/catalog/prod
    Вот код
    Код:
    RewriteRule ^catalog/([^/]+)/?$	index.php?module=Storefront&category=$1 [L,QSA]
    но этот код я уже не могу использовать.
    Но как это совместить?
     
  2. stealthdebuger

    stealthdebuger Механик

    Administrator
    Регистр.:
    25 авг 2008
    Сообщения:
    624
    Симпатии:
    1.379
    Что мешает использовать такой код?
    Код:
    RewriteRule ^catalog/([^/]+)/?$	index.php?module=Storefront&lang=ru&category=$1 [L,QSA]
     
  3. pixelranger

    pixelranger

    Регистр.:
    24 июн 2006
    Сообщения:
    386
    Симпатии:
    117
    а то что мне не только русский надо. Сайт сначала был на site.ru, потом сделали мультиязычность и все ссылки поменяли, мне нужно чтобы при старых ссылка все работало вместе с новыми
    новая http://site.com/ru/catalog/prod
    старая http://site.ru/catalog/prod
     
  4. polyetilen

    polyetilen Заблокирован

    Регистр.:
    10 авг 2006
    Сообщения:
    814
    Симпатии:
    474
    если оба правила нужны тогда надо оба вставлять, какое первее вставлено то и исполнится. Для старых ссылок исполнится первое, а для новых ссылок первое правило не подходит поэтому первое пропускается и исполнится второе. Надо только язык по умолчанию присвоить для старых ссылок в коде или в правило вставить (например index.php?module=Storefront&lang=ru&category=$1), видно по старым ссылкам язык не передаётся и тогда по старым ссылкам всегда будет язык ru
    Код:
    #1
    RewriteRule ^catalog/([^/]+)/?$    index.php?module=Storefront&category=$1 [L,QSA]
    #2
    RewriteRule ^([^/]+)/catalog/([^/]+)/?$    index.php?module=Storefront&lang=$1&category=$2 [L,QSA]
    
     
    pixelranger нравится это.
Статус темы:
Закрыта.