Вообщем для PHPBB3 сработало следующее:<br><br> server {<br> listen 80;<br> server_name <a href="http://some.domain.net">some.domain.net</a>;<br><br> location / {<br> root html;<br>
<br> proxy_pass <a href="http://localhost:8000/forum/">http://localhost:8000/forum/</a>;<br> proxy_set_header Host $host;<br> proxy_set_header X-Real-IP $remote_addr;<br>
proxy_redirect <a href="http://some.domain.net/forum/">http://some.domain.net/forum/</a> http://$host/;<br><br> sub_filter '/forum/' '/';<br> sub_filter_types text/plain;<br>
sub_filter_once off;<br><br> }<br>...<br><br>При этом сам форум стоит на localhost:8000, а в его настройках указан домен <a href="http://some.domain.net">some.domain.net</a>.<br><br><br><div class="gmail_quote">
2008/6/10 Vladimir Rusinov <<a href="mailto:vladimir@greenmice.info">vladimir@greenmice.info</a>>:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div></div><div class="Wj3C7c">2008/6/10 Alexander Dolgarev <<a href="mailto:a.dolgarev@gmail.com">a.dolgarev@gmail.com</a>>:<br>
> а есть ли какой-нибудь workaround?<br>
> все же проблема распространенная, кто-нибудь с ней наверняка сталкивался,<br>
> какие решения находили?<br>
><br>
> 2008/6/10 Vladimir Rusinov <<a href="mailto:vladimir@greenmice.info">vladimir@greenmice.info</a>>:<br>
>><br>
>> 2008/6/10 Alexander Dolgarev <<a href="mailto:a.dolgarev@gmail.com">a.dolgarev@gmail.com</a>>:<br>
>> > Воспользовался модулем прокси, все просто:<br>
>> ><br>
>> > server {<br>
>> > listen 80;<br>
>> > server_name <a href="http://some.domain.net" target="_blank">some.domain.net</a>;<br>
>> ><br>
>> > #charset koi8-r;<br>
>> ><br>
>> > access_log logs/host.access.log main;<br>
>> ><br>
>> > location / {<br>
>> > root html;<br>
>> ><br>
>> > proxy_pass <a href="http://localhost:8000/forum/" target="_blank">http://localhost:8000/forum/</a>;<br>
>> ><br>
>> > sub_filter '/forum' '';<br>
>> > sub_filter_types text/plain;<br>
>> > sub_filter_once off;<br>
>> ><br>
>> > }<br>
>> ><br>
>> ><br>
>> > #error_page 404 /404.html;<br>
>> ><br>
>> > # redirect server error pages to the static page /50x.html<br>
>> > #<br>
>> > error_page 401 402 404 500 502 503 504 /50x.html;<br>
>> > location = /50x.html {<br>
>> > root html;<br>
>> > }<br>
>> ><br>
>> > }<br>
>> ><br>
>> ><br>
>> ><br>
>> > Ссылки типа /forum удается заменять налету. Но осталась проблема с<br>
>> > кукисами,<br>
>> > а именно сервер посылает заголовок<br>
>> ><br>
>> > Set-Cookie: phpbb3_5z63w_sid=b1386871472c3cd91b80cb1a61be1925;<br>
>> > expires=Wed,<br>
>> > 10-Jun-2009 12:41:51 GMT; path=/; domain=localhost:8000; HttpOnly<br>
>> ><br>
>> > или<br>
>> ><br>
>> > Set-Cookie: phpbb3_5z63w_k=; expires=Wed, 10-Jun-2009 12:41:51 GMT;<br>
>> > path=/forum;<br>
>> ><br>
>> > Получаем неверный domain и path.<br>
>> ><br>
>> ><br>
>> > Как с этим бороться?<br>
>><br>
>> Либо править приложение (а phpbb в этом месте кривой, я уже пытался<br>
>> поправить), либо вешать apache (или что у вас там) на <a href="http://127.0.0.10:80" target="_blank">127.0.0.10:80</a> и<br>
>> педедавать Host в заголовке.<br>
<br>
</div></div>Ну либо то что я описал выше, либо fastcgi. Ну или грубый хакинг<br>
php-шного глобального $_SERVER в начале обработки запроса.<br>
По-моему других путей нету.<br>
<font color="#888888"><br>
--<br>
</font><div><div></div><div class="Wj3C7c">Vladimir Rusinov<br>
Voronezh, Russia<br>
UNIX Admin @ Murano Software<br>
</div></div></blockquote></div><br>