[.htaccess] ЧПУ и не работает

Тема в разделе "Другие языки", создана пользователем RedRabbit, 13 ноя 2015.

Модераторы: Цукер
  1. RedRabbit

    RedRabbit

    Регистр.:
    11 июл 2008
    Сообщения:
    608
    Симпатии:
    251
    Здравствуйте, есть .htaccess

    Код:
    Options -Indexes
    Options +FollowSymLinks
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^site.com [NC]
    RewriteRule ^(.*)$ http://www.site.com/$1 [L,R=301]
    
    RewriteRule ^([^/]*)/([^/]*)$ /search?search_type=$1&search_query=$2 [L]
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    
    RewriteRule .* test.php [L,QSA]
    Ссылка:
    Код:
    http://www.site.com/search?search_type=videos&search_query=Hello%20World
    Не работает
    Код:
    RewriteRule ^([^/]*)/([^/]*)$ /search?search_type=$1&search_query=$2 [L]
    Почему??????
     
    Последнее редактирование: 14 ноя 2015
  2. danneo

    danneo Честный

    Регистр.:
    13 ноя 2007
    Сообщения:
    1.454
    Симпатии:
    113
    А ЧПУ-ссылка какая?
     
  3. RedRabbit

    RedRabbit

    Регистр.:
    11 июл 2008
    Сообщения:
    608
    Симпатии:
    251
    Предположим:
    Есть ссылка:
    Перейти по ссылке

    Хочу:

    Перейти по ссылке

    Добавляю в .htaccess

    RewriteRule ^search?search_type=videos&search_query=(.*) search=$1 [L]

    Не работает( В чем дело. Я не правильно мыслю?
    Пост выше с генерировал в онлайн помощнике.
     
  4. lag

    lag

    Регистр.:
    13 окт 2014
    Сообщения:
    207
    Симпатии:
    266
    Т.е. при запросе Перейти по ссылке
    А при запросе Перейти по ссылке скрипт test.php получает параметры search_type=videos&search_query=Hello World
    Примерно так:
    Код:
    RewriteCond %{THE_REQUEST} " /search\?search_type=videos&search_query=(\S+)"
    RewriteRule ^ /search=%1? [R=301,L,NE]
    
    RewriteRule ^search=(.*?)$ /search?search_type=videos&search_query=$1 [L]
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    
    RewriteRule .* test.php [L,QSA]
    
     
    RedRabbit нравится это.
  5. biland

    biland Создатель

    Регистр.:
    3 окт 2016
    Сообщения:
    37
    Симпатии:
    0
    давно рекомендует использовать +SymLinksIfOwnerMatch, он безопаснее.

    а RewriteRule ^([^/]*)/([^/]*)$ может от движка зависеть и настроек ЧПУ. В opencart 2.2 там вообще глюк с поиском при включённом ЧПУ в разных браузерах.
     
  6. mellofon

    mellofon Писатель Нарушитель

    Регистр.:
    4 мар 2015
    Сообщения:
    4
    Симпатии:
    0
    А у меня проблема - не работает зеркало

    RewriteCond %{HTTP_HOST} ^www\.(.*)$
    RewriteRule ^(.*)$ Перейти по ссылке [L,R=301]

    тоже не понимаю почему