Ошибка Cannot modify header information - headers already sent

Если вы не новичок в PHP то скорее всего знаете что значит ошибка "Cannot modify header information - headers already sent by...". Это значит что вы пытаетесь отправить http заголовки, которые уже были отправлены в каком-то месте скрипта. Чаще всего это случается если нечаянно вставили пробел или пустую строку перед выводом PHP скрипта.

Скрываем версию PHP, Apache, ProFTPD

Скрываем версию PHP (X-Powered-By):

В файле конфигурации php.ini находим и выставляем параметр

  1. expose_php = Off

В дебианоподобных системах данный файл находится по адресу /etc/php5/apache2/php.ini

Скрываем версию Apache:

В файле конфигурации httpd.conf (хотя в некоторых сборках конфиг может храниться в другом файле, например apache2.conf) находим и выставляем параметры

  1. ServerTokens Prod
  2. ServerSignature Off

Скрываем версию ProFTPD:

В файле конфигурации /usr/local/etc/proftpd.conf
выставляем параметр

  1. ServerIdent Off
Тэги: 

Как программно обрезать картинку в Drupal 7

Бывают случаи когда для какого-то модуля нужно получить готовую картинку определенного размера, либо на вашем хостинге заканчивается свободное место из-за больших размеров файлов корзинок освободить которое можно ужав исходники картинок.

Тэги: 

Отладка JavaScript

Почему-то во многих статьях и учебниках для новичков в качестве функции для отладки кода советуют alert() что в корне неправильно, т.к. во время остановки скрипта мог быть запущен AJAX-запрос или Timeout, что может привести к нарушению дальнейшей работы всего скрипта в целом.

Тэги: 

Редирект 301 в .htaccess с www страниц и на www страницы

Редирект всех страниц сайта на www (http://site.ru => http://www.site.ru)

RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ http%{ENV:protossl}://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Редирект всех страниц сайта на страницы без www (http://www.site.ru => http://site.ru)

RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ http%{ENV:protossl}://%1%{REQUEST_URI} [L,R=301]