Зевс переписать правила
У меня есть веб-сайт, который отображает 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 и протестировать ее сам.
Ник