2015-06-21 2 views
0

Я пытаюсь создать правила переадресации. У меня есть два URL: www.example.com/speak и www.example.com/speaking. Я добавил ниже линии моей .htaccessApache .htacces redirect

RewriteRule speaking$ /?utm_source=offline&utm_medium=books&utm_campaign=bookmarks_uk [NC,QSA,R=301] 
RewriteRule speak$ /?utm_source=offline&utm_medium=bookmarks&utm_campaign=english_course [NC,QSA,R=301,L] 

, но каждый раз, когда я перенаправлен на /? Utm_source = & форуме utm_medium = & книги utm_campaign = bookmarks_uk.

Я поменял их, но это не сработало.

Любая идея?

+0

ли вы хотите перенаправлять (изменить URL) или переписать? – anubhava

ответ

1

Эти правила должны работать нормально, но могут быть улучшены, чтобы обслуживать конечную косую черту. Также используйте ^, чтобы отметить начало строки и $, чтобы отметить конец строки.

RewriteRule ^speaking/?$ /?utm_source=offline&utm_medium=books&utm_campaign=bookmarks_uk [NC,QSA,R=301] 
RewriteRule ^speak/?$ /?utm_source=offline&utm_medium=bookmarks&utm_campaign=english_course [NC,QSA,R=301,L] 

Я подозреваю, что проблема связана с кешированием браузера. Попробуйте очистить кеш браузера и перезапустить браузер.

+0

Спасибо. Я добавил параметр L в верхнее правило, и он работает! Мне пришлось очистить кеш браузера, как вы сказали. – Strabek

0

Вы перенаправлены, так как используете флаг R=301. Если вы пытаетесь получить доступ к /speaking и показывать содержимое /?utm_source=offline&utm_medium=books&utm_campaign=bookmarks_uk, вам необходимо удалить соответствующий флаг.

Ваши результирующие правила должны выглядеть следующим образом:

RewriteRule ^speaking/?$ /?utm_source=offline&utm_medium=books&utm_campaign=bookmarks_uk [NC,QSA,L] 
RewriteRule ^speak/?$ /?utm_source=offline&utm_medium=bookmarks&utm_campaign=english_course [NC,QSA,L]