2017-02-13 7 views
0

Я пытаюсь изменить мой файл .htaccess, чтобы иметь следующие правила:несколько условий переадресации с несколькими параметрами

, если URL содержит SRC = website.com и имеет город параметры = someCityHere И состояние = StateHere идти к этому URL, проходящей через город и государство при условии

ИЛИ

, если URL содержит SRC = website.com и имеет почтовый индекс = zipCodeHere перейти к этому URL передавая почтовый код, предоставленный

ИЛИ если URL Безразлично» t содержит src = веб-сайт. перенаправление на thisWebsite.com

Например, URL будет выглядеть следующим образом: www.mywebsite.com/?src=website.com & город = [город] & состояние = [состояние]

или www.mywebsite .com /? SRC = website.com & застежка-молния = [застежка-молния]

EDIT

Вот логика у меня есть, но теперь он дает ошибку 500. Обратите внимание на город и состояние значения должны быть отделены от подчеркивания в URL переадресации

RewriteCond %{THE_REQUEST} /\?src=website\.com&city=([^&]+)&state=([^&\s]+) [NC] 
RewriteRule^www.anotherwebsite.com/$1_$2? [L,R=301] 

RewriteCond %{THE_REQUEST} /\?src=website\.com&zip=([^&]+) [NC] 
RewriteRule^www.anotherwebsite.com/$1? [L,R=301] 

RewriteCond %{THE_REQUEST} !/\?src=website\.com [NC] 
RewriteRule^http://www.anotherwebsite.com [L, R=301] 
+0

'% {QUERY_STRING}' не содержит знак вопроса. Я ответил на аналогичный вопрос несколько лет назад, см. Http://stackoverflow.com/q/14307333/1741542 –

ответ

0

Вы можете использовать следующее правило для перенаправления /path/?src=website.com & город = Foo & состояние = бар к http://example.com/foo/bar

RewriteEngine on 

RewriteCond %{THE_REQUEST} /\?src=website\.com&city=([^&]+)&state=([^&\s]+) [NC] 
RewriteRule^http://example.com/%1/%2? [L,R] 

А для второго URL, вы можете написать аналогичное правило, просто настроить шаблон и цель.

+0

Я обновил свой код в вашем примере, см. Выше; но теперь я получаю 500 ошибок. Кажется, я сделал что-то не так в синтаксисе? – unknwnlttr