Apache может переписать заголовок Хоста запроса на основе URL?

Сделайте у Вас есть эта запись:

NameVirtualHost *

Это позволяет Вам включать vHosts

2
задан 2 December 2011 в 21:36
2 ответа

Да, вы можете изменять заголовки на основе URI. Хотя это уродливо - это единственный известный мне способ сделать это:

  1. Используйте SetEnvIF , чтобы установить переменную среды, если URI совпадает с тем, что вы хотите переписать.

  2. Используйте mod_headers ' RequestHeader для сброса соответствующего заголовка запроса ( Host: ), если эта переменная среды установлена.

5
ответ дан 3 December 2019 в 08:57

Используя SetEnvIf и Header, упомянутые выше, вот что я сделал, чтобы переписать заголовок «Accept-Encoding», чтобы уменьшить количество кэшированных копий, созданных mod_cache, проверенных работоспособностью.

# rewrite variation of the Accept-Encoding header to the same one
# to reduce the caching copies
UnsetEnv compression_ok
SetEnvIfNoCase Accept-Encoding ".*gzip.*deflate.*" compression_ok=1
RequestHeader set Accept-Encoding "gzip,deflate" env=compression_ok

Что это делает. : Разные браузеры устанавливают Accept-Encoding немного по-разному, например, «gzip, deflate» против «gzip, deflate» (с дополнительным пространством), и это приводит к тому, что mod_cache создает разные копии содержимого. Переписав его на то же значение, mod_cache создаст только одну копию. (примечание: мой сервер заботится только о "gzip, deflate", ваш может быть другим).

3
ответ дан 3 December 2019 в 08:57

Теги

Похожие вопросы