2012-07-12 3 views
0

Я перенаправляю старые URL-адреса на веб-сайт на новые URL-адреса на другом сайте. Он использует веб-сервер Zeus и первые два правила работают нормально. Однако, похоже, он не играет в мяч с третьим URL-адресом, в котором есть строка запроса ... Любые идеи о том, как исправить это? Кажется, мне может понадобиться регулярное выражение, чтобы иметь дело со специальным символом ?, так как он отлично работает, если я выберу это из матча. СпасибоПеренаправление URL-адресов с строками запросов с использованием regex

match URL into $ with ^/$ 
if matched 
set OUT:Location = http://www.website.co.uk/ 
set OUT:Content-Type = text/html 
set RESPONSE = 301 
set BODY = Moved 
goto END 
endif 

match URL into $ with ^/index.php$ 
if matched 
set OUT:Location = http://www.website.co.uk/ 
set OUT:Content-Type = text/html 
set RESPONSE = 301 
set BODY = Moved 
goto END 
endif 

match URL into $ with ^/index.php?cPath=1_50$ 
if matched 
set OUT:Location = http://www.website.co.uk/categories.php?category=Boilers 
set OUT:Content-Type = text/html 
set RESPONSE = 301 
set BODY = Moved 
goto END 
endif 

ответ

0

Я не знаком с переписыванием url Zeus. Но если он использует стандартное регулярное выражение, вам нужно избежать ? с обратной косой чертой.

match URL into $ with ^/index.php\?cPath=1_50$ 

Вопросительный знак обычно является метасимволом, который изменяет предыдущий символ или выражение, делая его необязательным. Таким образом, ваш рисунок теперь будет соответствовать /index.phpcPath=1_50 или /index.phcPath=1_50.

+0

Да, это исправлено. Большое спасибо. – Cameron

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

  • Нет связанных вопросов^_^