Я унаследовал плохой сайт, где в нашей сети есть много (читай: много) размещенных сайтов, которые делают это:
include "http://www.example.com/news.php";
Да, я знаю, что это плохо, небезопасно и т. д., и что это должно быть echo file_get_contents(...); или что-то в этом роде (вывод «news.php» — это просто HTML), но, к сожалению, это то, что они сейчас используют, и мы не можем легко изменить это.
Раньше работало нормально, до вчерашнего дня. Мы начали 301-перенаправлять все запросы с www.example.com только на example.com. Кажется, что PHP не следует этому перенаправлению, когда люди включают версию с www, поэтому это перенаправление ломает множество сайтов.
Подводя итог: есть ли способ заставить PHP следовать этим перенаправлениям? Я могу внести изменения только на стороне example.com или через конфигурацию всего сервера.
200 ok. - person VolkerK   schedule 22.12.2009include($foo)иecho file_get_contents($foo)(для удаленных файлов)? Я так не думаю... - person Franz   schedule 22.12.2009allow_url_include, но это вызовет другое сообщение об ошибке. - person VolkerK   schedule 22.12.2009echoраспечатает все, что получит.includeзапустит его как PHP-скрипт. - person Piskvor left the building   schedule 22.12.2009include 'http://...'просто вернет результаты и ничего не выполнит (хотя мне всегда было интересно, для чего ещеallow_url_includeбудет предназначено: P). Спасибо за эту информацию. - person Franz   schedule 22.12.2009