Зевс переписать правила

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

/work.php?cat=identity

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

/work/identity

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

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

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

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

3 ответа

Решение

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

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

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

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

Ник

Правила 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

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

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

страница 141 кажется началом этого...

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

Ник

Другие вопросы по тегам