Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Администрирование Web серверов и Web служб > RewriteRule


Автор: myth777 4.6.2011, 17:27
Здравствуйте
Помогите разобраться как это вообще работает. уже сижу 3 час и ничего не могу придумать.
Суть проблемы:
хочу чтобы строка 
http://127.0.0.4/cgi-bin/formindex.pl?Mode=ViewTable
преобразовывалась к виду:
http://127.0.0.4/cgi-bin/formindex

То бишь скрыть параметры. 
Или RewriteRule предназначен тупо для переброса?
Как будет выглядит конфигурация в .htaccess?

Добавлено через 6 минут и 16 секунд
Как вообще что то заменить?
допустим хочу параметр ViewTable заменить на test

Код

RewriteEngine on
RewriteBase /
RewriteRule ViewMode test [L]


не работает, не могу понять в чем дело :( тупизм какой то.

Автор: afiskon 4.6.2011, 19:02
Значит так. С помощью RewriteRule можно делать две вещи. Можно брать запрос пользователя, парсить и передавать какому-нибудь скрипту в виде заданных параметров (что делается в вашем примере). Можно делать редирект, то есть просто перебрасывать с заданных страниц (определяется регулярным выражением) на заданную страницу (http://eax.me/mini-notes-issue-1/). Все. Ничего "просто скрыть" вы не можете - иначе это использовалось бы всеми в фишинге. Но можно пропарсить параметры, сохранить в кукис пользователю, а затем перебросить его куда нужно, где извлечь параметры из кукиса, но это редкостный изврат, которым никто не занимается.

Автор: myth777 4.6.2011, 21:51
Верно ли я понимаю, что модуль mod_rewrite просто парсит url  запросы и перенаправляет результат куда нужно?
Возможности подменять url строку пользователю нельзя?

Автор: Антоннио 7.6.2011, 17:43
Вот :

Код

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /~quux/
RewriteRule ^/cgi-bin/formindex$ /cgi-bin/formindex.pl?Mode=ViewTable
</IfModule> 


Конечно же проверь, что у тебя есть этот модуль (mod_rewrite.c).

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)