Зевс переписать правила - PullRequest
0 голосов
/ 22 марта 2011

У меня есть веб-сайт, который отображает URL:

/work.php?cat=identity

Обычно я бы исследовал, как использовать mod_rewrite, но, к сожалению, мой хостинг (Namesco) использует Zeus, а не Apache, что странно. Как бы я использовал правила переписывания Зевса, чтобы преобразовать в:

/work/identity

Это намного более чистая и приятная для SEO версия. Кроме того, мне все еще нужно, чтобы переменная $ _GET была активной, поскольку она запрашивает информацию о переменной cat из базы данных.

Я никогда раньше не переписывал URL, поэтому понятия не имею, с чего начать. Я попытался изменить этот файл rewrite.script, который сохраняется в моей веб-папке

match URL into $ with ^/work.php?cat=/(.*)
if matched set URL= /work/$

К сожалению, это не работает. Может кто-нибудь помочь или, возможно, предложить альтернативу?

Ответы [ 3 ]

2 голосов
/ 29 марта 2011

быстро поиграл с этим, и я считаю, что доказал себе, что перезапись запросов не способна манипулировать элементом запроса URL.

Существует потенциальное решение, но оно становится еще страшнее!

Вы можете использовать «Расширения Perl» ZWS для достижения этой цели. По сути, вы передаете запрос механизму Perl в ZWS, запускаете для него скрипт, а затем передаете результат обратно в ZWS.

Боюсь, это немного выходит за рамки моих возможностей! Я "Зевс Трафик Менеджер", типа парень ...

Ник

1 голос
/ 31 августа 2011

Правила Zeus Rewrite могут получить доступ к части запроса строки URL. Ключевой вещью, по которой вам не хватает, похоже, является 1 после $ в выходном URL, и слеш должен быть удален:

match URL into $ with ^/work.php?cat=/(.*)
if matched set URL= /work/$

должно быть

match URL into $ with ^/work.php?cat=(.*)
if matched set URL= /work/$1
0 голосов
/ 28 марта 2011

Мне интересно, доступны ли правила перезаписи для части запроса URI? Документы говорят только об элементе пути.

http://support.zeus.com/zws/docs/2005/12/16/zeus_web_server_4_3_documentation

стр. 141 кажется началом ...

Я попытаюсь запустить виртуальную машину ZWS и протестировать ее сам.

Ник

...