Показаны сообщения с ярлыком юмор. Показать все сообщения
Показаны сообщения с ярлыком юмор. Показать все сообщения

суббота, 30 ноября 2013 г.

Очередной веселый казус )

Хочу рассказать еще об одной занятной ситуации, которая произошла буквально на днях.

В общем, имеется группа статических html-файлов, из которых нужно повыносить все общее в отдельные файлики и уже их подключить в каждый первоначальный файл. Переименовал все в *.html.php, настроил редирект в .htaccess через mod_rewrite. Работа, вроде бы. движется. И тут в какой-то момент замечаю, что верстка рушится немного. То есть, положение div-блоков, которое получается у меня, слегка отличается от того, что было раньше. Появляются какие-то необъяснимые отступы и все такое. Давай сличать итоговый html. Вроде бы, все один к одному. То есть, внешне отличий не нахожу. Вошел в ступор от непонимания ситуации )

Итог всего: верстка была в utf-8. Когда я выносил блоки в отдельные файлы, то тоже создавал их в кодировке utf-8. Но не обратил внимание, что AkelPad в этом случае по дефолту выставляет utf-8 with BOM (Byte Order Mark), то есть, в самом начале файла прописывается специальная последовательность символов. Причем в самом редакторе она никак не отображается. Перекодировал все свои файлы в utf-8 без BOM, и все стало как и должно быть ) Теперь самое главное не наступить на эти же грабли в следующий раз )

понедельник, 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 таким образом беспокоится о том, чтобы пользователь не потерял свои конфигурационные файлы ? Сложно сказать.

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

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