2013-12-10 4 views
0

У меня есть переписана URL, который будет выглядеть как один из следующих вариантов:Получение строки запроса элемент после Htaccess перенаправить

http://www.example.com/anyfolder/some-more-here/ 
http://www.example.com/anyfolder/some-more-here/?ref=referralcode 

Вот правило я играл с:

RewriteRule ^([a-z0-9-]+)/([a-z0-9-]+)/?$ /page.asp?folder=$1&url=$2&refcode=$3 [NC,L] 

Мои вопрос заключается в том, что поскольку (http://www.example.com/anyfolder/some-more-here/?ref=) является переписанным URL-адресом, который имеет дополнительный элемент строки запроса после него после того, как переписывается, как мне получить этот «ref» элемент в моем коде? Я могу легко получить «anyfolder» и «some-more-here», выполнив простой запрос, но меня смущает часть «ref». Я думаю, что может понадобиться флаг QSA, просто имея проблемы с его объединением.

Я использую Classic ASP на этом сайте, но решение, вероятно, относится и к PHP.

Любая помощь будет отличной. заранее спасибо!

Dennis

+0

Какое правило переписывания вы используете? – anubhava

+0

К сожалению, извините. см. выше. – Dennis

ответ

2

нормально, как на ваш комментарий вам нужно QSA флаг. Попробуйте правило, как:

RewriteRule ^([a-z0-9-]+)/([a-z0-9-]+)/?$ /page.asp?folder=$1&url=$2&refcode=$3 [NC,L,QSA] 

Это сохранит ?ref=... в переписан URI.

  • QSA (Query String Append) flag сохраняет существующие параметры запроса при добавлении нового.
+0

LOL - иногда ответы прямо перед вами. он отлично поработал, спасибо за помощь !! – Dennis

Смежные вопросы