понедельник, 23 сентября 2013 г.

Настройки Apache, или как я потерял полчаса своей личной жизни )

Буквально недавно столкнулся с такой ситуацией. Нужно прикрутить mod_rewrite к Апачу на локальной машине. Ну, лезу в его httpd.conf, подключаю нужный .so-шник, в настройках виртуального хоста указываю "AllowOverride All" для того, чтобы подхватывался .htaccess. В сам .htaccess, лежащий в корне локального сайта, пишу для теста нечто такое:

===
RewriteEngine On
RewriteBase  ⁄
RewriteRule ^(.*)% index.php
===

То есть, указываю, что нужно тупо редиректить все запросы на index.php. В index.php
пишу:

==
 <?php
     phpinfo();
 ==

 Стартую Апач, пишу в адресной строке браузера нечто типа http://local.loc/dsfgkjhert и... получаю 500-ую ошибку "Internal server error".
"Что за  (тут нехорошее слово)..", - подумал я )) Сначала проверил еще раз http.conf, затем
httpd-vhosts.conf, затем просмотрел .htaccess. Вроде бы, все в порядке. Нигде никаких ошибок нет. Но почему-то выдает 500-ую ошибку при заходе на локальный домен.
Когда уже собственные мысли на предмет возможной причины ошибки иссякли, полез, разумеется, в google. Ковырялся минут 30, наверное, если не больше. Ничего нового. Все пишут одно и то же. В общем, должно работать, но не работает, почему-то.

А теперь развязка истории. До недавнего времени у меня был установлен Apache 2.2,
и стоял он у меня в Program Files. Устанавливался инсталлятором и им же был впоследствии снесен. Потом я установил Apache 2.4.из zip-архива и поставил его в корень системного раздела. Так вот, после деинсталляции версии 2.2 у него сохранились в Program Files все настроечные каталоги со всеми конфигурационными файлами внутри. Возможно, Apache таким образом беспокоится о том, чтобы пользователь не потерял свои конфигурационные файлы ? Сложно сказать.

Ну, вы уже догадались, наверное, где собака порылась ? ) В общем, не там я настройки Апача правил. Мда. Исправил уже в нужном месте - и все заработало. Возможно, нужно было сразу же в логи лезть, но что-то я не сообразил об этом на тот момент )

Вот такая веселая (и самое главное, что хорошо закончившаяся =) история.