2015-08-31 7 views
2

Я пытаюсь организовать простой 301-редирект в моем файле .htaccess и с некоторыми проблемами..htaccess 301 перенаправить ввод строки запроса

Мой текущий код выглядит:

RewriteRule /contact/ http://www.example.com/connect/ [R=301,L,QSA] 

Хотя при входе в систему: http://www.example.com/contact/

перенаправляет хорошо, хотя места в строке запроса: http://www.example.com.au/connect/?field=contact

Который затем делает все, удар -до. У меня есть 301 в верхней части моего файла .htaccess. Я не знаю, почему это происходит.

Любые предложения были бы очень оценены.

+0

что, если вы пытаетесь 'RewriteRule http://www.example.com/contact/ http://www.example.com/connect/ [R = 301, L, QSA] '? – maxpovver

+0

, а также попробуйте 'RewriteRule contact/http://www.example.com/connect/ [R = 301, L, QSA]' – maxpovver

+0

@maxpovver Спасибо за ваши идеи. Оба ваших решения действительно не достигли такого же результата. Я думаю, что это связано с подстановочными знаками в URL-адресе. Добавив^/? в переписывание, похоже, сделали трюк. – Brandrally

ответ

2
RewriteRule ^/?contact/?$ http://www.example.com/connect/? [R=301,L,QSA] 

Пустой знак вопроса в конце важен, поскольку он отбрасывает исходную строку запроса из URL-адреса. Если вы U

+1

Спасибо @starkeen, что ваш код сделал трюк. Очень ценю вашу помощь. – Brandrally

1

Пожалуйста, попробуйте это один:

RewriteRule ^contact/$ http://www.example.com/connect/? [L,R=301]