parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Проверь

Luzhnikovskiy 10.07.2002 23:20

Не включил ли ты ненароком mod_proxy и/или mod_cache? или у тебя какой прокси по дороге к веб-серверу есть?

Дело в том, то апач отдает в REQUEST_URI, то, что пригло ему в GET запросе:
GET /index.html HTTP/1.1\n
host: localhost\n\n
вернет /index.html

а вот
GET http://localhost/index.html HTTP/1.1\n
host: localhost\n\n
вернет как-раз http://localhost/index.html

более того:
GET http://bullshit/index.html HTTP/1.1\n
host: localhost\n\n
вернет именно http://bullshit/index.html, а не /index.html или http://localhost/index.html - что просили, то и отдал.

Говорят, такая фигня из-за некоторых проксей и происходит... А $request:uri берет просто REQUEST_URI от сервера и ничего с ней не делает :( Возможно, PAF это исправит в будущем, но сейчас с этим надо смириться и писать полные URL, а не URI...

Можно также просто проверять, если $request:uri начинается с http://, просто отрезать от начала до первого слэша (то есть, те самые http://localhost), а остальное использовать в сравнении.