Как переписать URL, которые проходят через apaches mod_proxy - PullRequest
0 голосов
/ 05 июня 2011

Я настроил свой сервер apache 2.2 как простой перенаправляющий прокси-сервер, используя mod_proxy и mod_proxy_http.

Когда клиент запрашивает URL следующего формата:

http://specific.host.com/specific?specificarg1=(.+)&specificarg2=(.+)&specificarg3=specificvalue

для запроса впереписанная форма, в которой значения specificarg1 и specificarg2 заменяются значениями, определенными в моей конфигурации сервера.

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

Так что после прочтения документации для mod_rewrite, mod_proxy и так я попробовал что-то вроде следующего, чтобы получить какую-то переписать работает вообще:

RewriteRule .* <a href="http://www.google.com/" rel="nofollow">http://www.google.com/</a> [P,L]

точно так же, как это в конфигурации сервера, ничего не перезаписывается при серфинге через прокси

<VirtualHost *:80>
ServerName domain-i-tried-to-surf-to.com
`RewriteRule .* http://www.google.com/ [P,L]
</VirtualHost>

не повезло ни

ProxyPass(Reverse) / http://www.google.com
ProxyPass(Reverse) /path/i/tried/to/surf/to http://www.google.com

тоже не повезло

ProxyRemote * http://www.google.com

тоже не повезло

Я также пытался вставить правила перезаписи в директивы proxymatch, но я просто не могу перемотатьобрядМожет ли кто-нибудь указать мне правильное направление?

1 Ответ

1 голос
/ 05 июня 2011

Сначала нужно добавить оператор RewriteEngine on в самом начале, чтобы даже получить mod_rewrite для обработки любых правил.

...