Назад | Перейти на главную страницу

Mod_rewrite от Apache смешивает перезаписи внешней программы перезаписи

Я использую следующую конфигурацию:

RewriteEngine On
RewriteMap url-rewrite prg:/usr/bin/url-rewrite
RewriteRule ^(.*)$ ${url-rewrite:%{HTTP_HOST}$1} [P]

Но иногда переписанные URL-адреса путаются:

127.0.0.1 - - [30/Jun/2011:15:12:37 +0300]   
[localhost...] [...] (5) map lookup OK:
map=url-rewrite key=localhost/1.gif ->
val=http://127.0.0.1:8080/path/2.gif

Сценарий переопределения URL-адресов только добавляет сегмент пути, но не меняет имя файла. Я ожидал val =http://127.0.0.1:8080/path/1.gif. Это приводит к тому, что пользователь фактически получает неправильный файл изображения.

Примечание. Если вы хотите получить подробный журнал отладки, как указано выше (с указанием производительности), используйте:

RewriteLog /path/to/file.log
RewriteLogLevel 9

Кажется, скрипт перезаписи URL работает неправильно, вам следует опубликовать этот код скрипта.

Но перед этим проверьте, что вы установили RewriteLock Директива при использовании prg: Apache нужна блокировка синхронизации, чтобы не смешивать результаты.