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

Как прочитать конкретный символ из заголовка запроса в apache http.config

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

Например, заголовок Http - HTTP_ACCEPT = version.ver1 + xml

В Httpd.config нам нужно запрошенное значение версии (как в приведенном выше случае его - ver1) перед перенаправлением на конкретный URL-адрес версии, например, http://server:port/application_<ver1>.

Есть ли способ настроить через http-модули, такие как rewrite или setenvif и т. Д.

У вас должно получиться сделать это с помощью перезаписи. Например:

RewriteEngine On
RewriteCond %{HTTP:Accept} version\.(ver1)\+xml [NC]
RewriteRule ^(.*) http://server:port/application_%1 [L]

Конечно, это может потребоваться изменить в зависимости от ваших требований ... например, если вам нужно перенести что-нибудь в исходном запросе, например имя хоста или URI. Тогда вам может потребоваться использовать для них переменные и обратные ссылки. Например:

RewriteRule ^(.*) http://%{HTTP_HOST}/application_%1$1 [L]

Для перезаписи также требуется, чтобы в основной конфигурации был включен mod_rewrite:

LoadModule rewrite_module modules/mod_rewrite.so

Следующие ссылки предоставляют дополнительную информацию об этих директивах:

http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewriterule http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewritecond