- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Есть сайт.
Функция поиска работает по этому адресу:
сайт.ру/?lion=Текст1
Я хочу, чтобы еще она работала по этому:
сайт.ру/?string=Текст1
Как это сделать через htaccess?
Если нельзя, то можно как-то сделать, чтобы старые запросы с сайт.ру/?string=Текст1 переадресовывались на сайт.ру/?lion=Текст1
Средствами htaccess нельзя сделать невидимую подмену параметров в строке, только в скрипте обрабатывать оба параметра string и lion.
А а редирект со старого запроса на новый, вот пожалуйста
RewriteCond %{QUERY_STRING} ^string=(.*)RewriteRule ^/?$ http://site.ru/?lion=%1 [R=301]
Спасибо большое за помощь, сделал редирект. Теперь стало супер!) Только вот в чем косяк небольшой: если после string= идет русский текст, то редирект идет с ошибкой, выводятся абракадабры. Это можно как-нибудь исправить?
Правильней будет вот так:
RewriteCond %{REQUEST_URI} ^/\?.*string=.*
RewriteRule string=(.*) lion=$1 [L]
В этом случае не будет происходить редиректа и поиск будет работать прямо с ?string=
Правильней будет вот так:
RewriteCond %{REQUEST_URI} ^/\?.*string=.*
RewriteRule string=(.*) lion=$1 [L]
В этом случае не будет происходить редиректа и поиск будет работать прямо с ?string=
Не работает так.
Спасибо большое за помощь, сделал редирект. Теперь стало супер!) Только вот в чем косяк небольшой: если после string= идет русский текст, то редирект идет с ошибкой, выводятся абракадабры. Это можно как-нибудь исправить?
Кириллица и utf-8 больная тема для .htaccess :)
Как вариант можно добавит скрипт с редиректом, тогда будет работать utf-8
.htaccess
создать файл в корне сайта с названием utf8_uri.php и кинуть туда вот этот код
Функция поиска работает по этому адресу:
сайт.ру/?lion=Текст1
Я хочу, чтобы еще она работала по этому:
сайт.ру/?string=Текст1
RewriteEngine On
RewriteCond %{QUERY_STRING} ^string=(.+)$
RewriteRule ^$ /?lion=%1 [L,QSA]