Кальмаров url_rewrite_program
директива имеет расплывчатую документацию. В нем говорится, что рассматриваемая программа должна принимать "формат", описанный как:
[channel-ID <SP>] URL [<SP> extras]<NL>
Эту строку можно интерпретировать двояко:
<SP>
будет заключен в квадратные скобки вместе с дополнительные услуги строка потом.Я подозреваю (но не могу быть уверен), что №2 - правильная интерпретация, поскольку есть примечание, в котором мне предлагается поискать где-нибудь еще, чтобы узнать, как «отправлять вспомогательные данные с необязательными значениями». Меня не особо интересуют статисты. Все, что мне действительно нужно, это URL.
Нет документации, описывающей, как контролировать отправку необязательных полей, и это плохо, потому что единственное обязательное поле находится в средний. Вы можете определить, какое поле является каким, только попытавшись проанализировать их как каналы, URL-адреса и «дополнительные».
Но формат «канал» и «дополнительный» также не описан в документации к url_rewrite_program, и я скорее буду читать исходный код, чем просматривать документацию по всем остальным, не относящимся к делу параметрам. Может быть, было бы быстрее написать HTTP-прокси с нуля, чем пытаться разобраться в файле конфигурации достаточно, чтобы заставить работать этот единственный вариант.
Очевидно, действительно важно распознать, когда был предоставлен идентификатор канала, поскольку требуется, чтобы эта строка отображалась эхом для всех запросов, у которых он есть.
Может ли кто-нибудь прояснить мне, как должна работать url_rewrite_program?