2016-07-20 4 views
0

Ahoy all, я знаю, что эти вопросы были избиты до смерти. И даже после моего часа исследования стека ни одно из предложений или ответов, которые я пытался, не сработало.basic htaccess перенаправляет с помощью переменной move from URL (? Id = 1e34-2)

Единственное, что я имею в необходимости делать это ....

Возьмите переменную из URL и перенаправления на другую страницу (сайт), вставив эту переменную соответственно.

Имейте в виду, что переменная может содержать буквы, тире, символы подчеркивания или цифры.

Оригинал

/directory-here/a-random-name.php?strPropID=13d3-1 

и я перенаправлять на другой домен.

http://www.someotherdomain.com/redirect.php?strPropID=13d3-1 

Так что теперь у меня есть это:

RewriteRule ^/directory-here/a-random-name.php\?strPropId=(.*)$ http://www.someotherdomain.com/redirect.php?propid=$1 [R=301,L] 

Однако редирект не работает. Что я здесь делаю неправильно? Я знаю, что это должно быть что-то простое, нет?

Заранее благодарен!

ответ

0

Вы должны соответствовать строки запроса с использованием RewriteCond не в RewriteRule:

RewriteEngine On 

RewriteCond %{THE_REQUEST} /directory-here/a-random-name.php\?strPropId=([^\s&]*) [NC] 
RewriteRule^http://www.someotherdomain.com/redirect.php?propid=%1 [R=301,L,NE] 
+0

Хм, к сожалению, это не похоже, чтобы сделать трюк либо. Он перенаправляется на «http://www.someotherdomain.com/directory-here» – PaulHanak

+0

Была опечатка (я использовал '$ 1' вместо'% 1'). Можете ли вы попробовать обновленное правило как ** очень первое правило ** в корне вашего сайта .htaccess – anubhava