WordPress, FastCGI и редирект 301: часть 2
Патч, исправляющий проблему редиректа с кодом 302 в FastCGI
Более изящное решение, нежели представленное в первой части (WordPress, FastCGI и редирект 301).
В первой части предлагалось при использовании web-сервера nginx закомментировать проверку на SAPI PHP (if ( php_sapi_name() != 'cgi-fcgi' )). Однако есть лучшее решение.
Сразу оговорюсь, что в официальном релизе оно вряд ли скоро окажется (ибо работает с PHP 4.4+, а разработчики WordPress хотят поддерживать такое старьё, как PHP 4.3), поэтому применять данное решение только на свой страх и риск.
Патч в формате unified diff (применять к wp-includes/pluggable.php):
+++ trunk/public/wp-includes/pluggable.php (modified)
@@ -845,9 +845,7 @@
if ( $is_IIS ) {
header("Refresh: 0;url=$location");
} else {
- if ( php_sapi_name() != 'cgi-fcgi' )
- status_header($status); // This causes problems on IIS and some FastCGI setups
- header("Location: $location");
+ header("Location: $location", null, $status);
}
}
endif;
Идея в том, чтобы переложить ответственность по отправлению кода перенаправления на PHP (который справляется с этим успешнее, чем WordPress). Решение является рабочим, жалоб пока нет
UPDATE: для nginx есть лучший способ: плагин nginx Compatibility.
Автор: Vladimir; опубликовано в: nginx, Патчи; метки: FastCGI, nginx, PHP, redirect, WordPress, патчМар
2009
Комментарии к статье «WordPress, FastCGI и редирект 301: часть 2» (3) »
Пожалуйста, не используйте эту форму для комментирования! Данная форма предназначена исключительно для ботов.
Оставить комментарий к записи «WordPress, FastCGI и редирект 301: часть 2»
गते गते पारगते पारसंगते बोधि स्वाहा
Меня зовут Владимир, я программист-фрилансер, специализирующийся на Web-программировании и програмировании под Linux.
По совместительству занимаюсь администрированием LAMP/LNMP-серверов и техническим переводом.


мне ещё рано такое изучать
[...] этот недочёт WordPress методом, аналогичным описанному здесь: только вместо физического исправления файла функция [...]
Спасибо интересно