[.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.475
    Симпатии:
    114
    А ЧПУ-ссылка какая?
     
  3. RedRabbit

    RedRabbit

    Регистр.:
    11 июл 2008
    Сообщения:
    608
    Симпатии:
    251
  4. lag

    lag

    Регистр.:
    13 окт 2014
    Сообщения:
    229
    Симпатии:
    305
    Т.е. при запросе http://www.site.com/search?search_type=videos&search_query=Hello World браузер получает редирект на адрес http://www.site.com/search=Hello World
    А при запросе http://www.site.com/search=Hello World скрипт 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
    Сообщения:
    38
    Симпатии:
    0
    давно рекомендует использовать +SymLinksIfOwnerMatch, он безопаснее.

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

    mellofon Писатель

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

    RewriteCond %{HTTP_HOST} ^www\.(.*)$
    RewriteRule ^(.*)$ http://%1/$1 [L,R=301]

    тоже не понимаю почему
     
  7. Вадим Дудченко

    Вадим Дудченко Создатель

    Регистр.:
    22 авг 2013
    Сообщения:
    20
    Симпатии:
    1
    а я для ЧПУ пользуюсь стандартными инструментами CMC. Так меньше геморроя. Ну как вариант можно спец плагин добавить. Но это отдельный разговор
     
  8. ZiXy

    ZiXy Создатель

    Регистр.:
    25 янв 2015
    Сообщения:
    32
    Симпатии:
    18
    Для изменения данной директивы необходимо отредактировать файл php.ini на вашем вебсервере.
     
  9. invader

    invader Серый кардинал в отставке :)

    Moderator
    • Супермодератор
    Регистр.:
    3 апр 2006
    Сообщения:
    2.598
    Симпатии:
    5.785
    в .htaccess можно
    Код:
    php_value max_input_vars 5000
     
    Yolo Yolo нравится это.
  10. Outplayer

    Outplayer Создатель

    Регистр.:
    14 дек 2017
    Сообщения:
    10
    Симпатии:
    0
    напиши хостеру в тех поддержку. должны помочь.
    не все хостеры дают клиентам доступ к этому файлу.