Язык страницы:

EventSource + MultiViews == 406 Not Accepted

В процессе разработки иногда приходится писать эмуляторы партнёрских систем, если доступа к ним нет. Сейчас мне пришлось работать над эмулятором, который должен был предоставлять API вида http://emulator/connectionPoint. Первой мыслью было использовать для этой цели фичу MultiViews, но выбор оказался неверен.

Запрос

GET /connectionPoint HTTP/1.1
Host: emulator
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; ru-RU) AppleWebKit/533.19.4 (KHTML, like Gecko) Version/5.0.3 Safari/533.19.4
Accept-Encoding: gzip, deflate
Accept: text/event-stream
Accept-Language: ru-RU
Cache-Control: max-age=0
Pragma: no-cache
Connection: keep-alive

Ошибка соединения, «Options +MultiViews»

HTTP/1.1 406 Not Acceptable
Server: Apache
Alternates: {"connectionPoint.php" 1 {type application/x-httpd-php} {length 152}}
Vary: negotiate,Accept-Encoding
TCN: list
Content-Encoding: gzip
Content-Length: 274
Content-Type: text/html; charset=iso-8859-1
Connection: close

Верный ответ, «Options -MultiViews»

HTTP/1.1 200 OK
Content-Type: text/event-stream
Connection: close

К сожалению, MultiViews имеет более высокий приоритет, нежели ModRewrite, что делает невозможным исправление ситуации без его отключения.

Итак, рецепт правильных редиректов для EventSource - создание корректного .htaccess

Options -MultiViews
RewriteEngine on
RewriteBase /
RewriteRule ^([^.]*)$ /$1.php [L]

  • Закладки и социальные сети
  • Сохранить "EventSource + MultiViews == 406 Not Accepted" на del.icio.us
  • Сохранить "EventSource + MultiViews == 406 Not Accepted" на Digg
  • Сохранить "EventSource + MultiViews == 406 Not Accepted" на Furl
  • Сохранить "EventSource + MultiViews == 406 Not Accepted" на Reddit
  • Сохранить "EventSource + MultiViews == 406 Not Accepted" на Ask
  • Сохранить "EventSource + MultiViews == 406 Not Accepted" на BlinkList
  • Сохранить "EventSource + MultiViews == 406 Not Accepted" на blogmarks
  • Сохранить "EventSource + MultiViews == 406 Not Accepted" на Google
  • Сохранить "EventSource + MultiViews == 406 Not Accepted" на Ma.gnolia
  • Сохранить "EventSource + MultiViews == 406 Not Accepted" на Netscape
  • Сохранить "EventSource + MultiViews == 406 Not Accepted" на ppnow
  • Сохранить "EventSource + MultiViews == 406 Not Accepted" на Rojo
  • Сохранить "EventSource + MultiViews == 406 Not Accepted" на Shadows
  • Сохранить "EventSource + MultiViews == 406 Not Accepted" на Simpy
  • Сохранить "EventSource + MultiViews == 406 Not Accepted" на Socializer
  • Сохранить "EventSource + MultiViews == 406 Not Accepted" на Spurl
  • Сохранить "EventSource + MultiViews == 406 Not Accepted" на StumbleUpon
  • Сохранить "EventSource + MultiViews == 406 Not Accepted" на Tailrank
  • Сохранить "EventSource + MultiViews == 406 Not Accepted" на Technorati
  • Сохранить "EventSource + MultiViews == 406 Not Accepted" на Live Bookmarks
  • Сохранить "EventSource + MultiViews == 406 Not Accepted" на Wists
  • Сохранить "EventSource + MultiViews == 406 Not Accepted" на Yahoo! Myweb
  • Сохранить "EventSource + MultiViews == 406 Not Accepted" на BobrDobr
  • Сохранить "EventSource + MultiViews == 406 Not Accepted" на Memori
  • Сохранить "EventSource + MultiViews == 406 Not Accepted" на Faves
  • Сохранить "EventSource + MultiViews == 406 Not Accepted" на Favorites
  • Сохранить "EventSource + MultiViews == 406 Not Accepted" на Facebook
  • Сохранить "EventSource + MultiViews == 406 Not Accepted" на Newsvine
  • Сохранить "EventSource + MultiViews == 406 Not Accepted" на Yahoo! Bookmarks
  • Сохранить "EventSource + MultiViews == 406 Not Accepted" на Twitter
  • Сохранить "EventSource + MultiViews == 406 Not Accepted" на myAOL
  • Сохранить "EventSource + MultiViews == 406 Not Accepted" на Slashdot
  • Сохранить "EventSource + MultiViews == 406 Not Accepted" на Fark
  • Сохранить "EventSource + MultiViews == 406 Not Accepted" на RawSugar
  • Сохранить "EventSource + MultiViews == 406 Not Accepted" на LinkaGoGo
  • Сохранить "EventSource + MultiViews == 406 Not Accepted" на Mister Wong
  • Сохранить "EventSource + MultiViews == 406 Not Accepted" на Wink
  • Сохранить "EventSource + MultiViews == 406 Not Accepted" на BackFlip
  • Сохранить "EventSource + MultiViews == 406 Not Accepted" на Diigo
  • Сохранить "EventSource + MultiViews == 406 Not Accepted" на Segnalo
  • Сохранить "EventSource + MultiViews == 406 Not Accepted" на Netvouz
  • Сохранить "EventSource + MultiViews == 406 Not Accepted" на DropJack
  • Сохранить "EventSource + MultiViews == 406 Not Accepted" на Feed Me Links
  • Сохранить "EventSource + MultiViews == 406 Not Accepted" на funP
  • Сохранить "EventSource + MultiViews == 406 Not Accepted" на HEMiDEMi
blog/eventsource_i_multiviews.txt · Последние изменения: 2011/01/31 18:46 От Ilya Lebedev
GNU Free Documentation License 1.2 www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0