Ошибка RewriteRule. Движок OpenCart

Тема в разделе "Mod Rewrite / htaccess / ЧПУ", создана пользователем iskif, 5 май 2010.

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

    iskif

    Регистр.:
    21 авг 2006
    Сообщения:
    325
    Симпатии:
    35
    Изначально в движке прописано так

    Код:
    Options +FollowSymlinks
    
    RewriteEngine On
    RewriteBase / 
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)\?*$ index.php?_route_=$1 [L,QSA]
    Должно получиться преобразование типа
    сайт.ру/index.php?route=product/category&path=20

    в сайт.ру/category_name например

    Не работает :confused:
    и инструкции читал, и советы, не хочет и всё - ошибка 404
    :bc:

    на сервере всё включено, другие движки на аккаунте (с другими правилами) - работают
     
  2. N()fix

    N()fix Создатель

    Регистр.:
    24 ноя 2008
    Сообщения:
    17
    Симпатии:
    5
    Код:
    RewriteRule (.*) index.php?route=$1 [L,QSA]
    \?* - это лишнее.
    И path=20 не пойму, откуда 20 берётся. Напиши пример адреса в чпу виде.

    Может
    Код:
    сайт.ру/category_name?path=20
     
  3. iskif

    iskif

    Регистр.:
    21 авг 2006
    Сообщения:
    325
    Симпатии:
    35
    В админке доступны две, относящиеся к этому, опции:

    первая - задать короткое имя для категории, ну например, для категории Ноутбуки прописать laptops

    вторая - Включить ЧПУ Да\Нет . При "Да" происходит замена обычных ссылок в меню навигации на короткий вариант (20 это id категории, тут цифры разные и уникальные :(

    сайт.ру/index.php?route=product/category&path=20

    автоматом заменяется на сайт.ру/laptops

    но ссылка в итоге всё равно не работает, даже после предложенного варианта исправления - ошибка 404
     
  4. N()fix

    N()fix Создатель

    Регистр.:
    24 ноя 2008
    Сообщения:
    17
    Симпатии:
    5
    Ошибка 404 движком выдана или сервером?
    Дай ссылку в личку, может быстрее пойму.
     
  5. iskif

    iskif

    Регистр.:
    21 авг 2006
    Сообщения:
    325
    Симпатии:
    35
    сервером
    ссылку отправил
     
  6. N()fix

    N()fix Создатель

    Регистр.:
    24 ноя 2008
    Сообщения:
    17
    Симпатии:
    5
    Попробуй ещё так:
    Код:
    RewriteRule (.*) /index.php?_route_=$1 [L,QSA]
    может RewriteBase / не срабатывает :nezn:
     
  7. iskif

    iskif

    Регистр.:
    21 авг 2006
    Сообщения:
    325
    Симпатии:
    35
    не помогло :(

    но это ведь ещё в движке проблема может быть?
    как-то же происходит сопоставление чпу-ссылки и "простой"?
     
  8. N()fix

    N()fix Создатель

    Регистр.:
    24 ноя 2008
    Сообщения:
    17
    Симпатии:
    5
    Сопоставление там происходит так:
    Код:
    /desktops [COLOR=Silver]»[/COLOR] /index.php?_route_=desktops
    
    И по ссылке /index.php?_route_=desktops открывается правильная категория.
    Проблема в другом: RewriteRule как будто не срабатывает вообще. Может .htaccess не в корне лежит? Он там где index.php?
     
    iskif нравится это.
  9. iskif

    iskif

    Регистр.:
    21 авг 2006
    Сообщения:
    325
    Симпатии:
    35
    вот я тооормоззззз
    вернее, тормоз создатель или создатели движка, а я сразу не сообразил, в чём дело

    я мучился с файлом .htaccess.TXT - ну такой вот положили :confused:
    сейчас только дошло .txt удалить

    заработало и с первоначальным вариантом :thenks:

    спасибо за верную мысль :)

    но работает всё равно неправильно :)
    при нажатии на обычную ссылку происходит одно действие, а если на "переделанную", то другое
     
  10. N()fix

    N()fix Создатель

    Регистр.:
    24 ноя 2008
    Сообщения:
    17
    Симпатии:
    5
    А я не вижу разницы, уверен что другое?
    Сейчас по адресу /desktops то же,
    что и по /index.php?route=product/category&path=20
     
Статус темы:
Закрыта.