Как сделать редирект с помощью .htaccess?

Добрый день.
Подскажите пожалуйста, как правильно сделать 301 редирект с помощью .htaccess ?

Имеется страница "city" которая получает через &_GET данные и выводит информацию.
Страница имеет вид: site.ru/city?name=Toronto
Если зайти просто на страницу site.ru/city то получу ошибку и мне нужно сделать в таком случае редирект на главную страницу. Если я делаю в .htaccess редирект 301 RedirectMatch 301 /city / то в принципе все работает, при переходе на site.ru/city получаю редирект.
НО если я захочу зайти на страницу site.ru/city?name=Toronto то получаю адрес site.ru/?name=Toronto, фраза "city" убирается и все.

Как сделать правильный редирект?
  • Вопрос задан
  • 176 просмотров
Пригласить эксперта
Ответы на вопрос 3
Lumore
@Lumore
Front-end developer
В PHP просто можно:
header('Location: /');
Ответ написан
Комментировать
Попробуйте добавить символ доллара (конец строки для матчинга)
RedirectMatch 301 /city$ /

Руководство по настройке .htaccess с примерами
Ответ написан
Комментировать
shambler81
@shambler81 Куратор тега htaccess
RewriteCond %{QUERY_STRING} (^|&)name\=Toronto($|&)
RewriteRule ^site\.ru/city$ http://site.ru/city? [L,R=301]

Вопрсо в конце удалит гет
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы