Сообщения

Сообщения за октябрь, 2011

Устранение ошибки Ошибка 500 (Internal Server Error) при использовании .htaccess для принудительной загрузки файла

Ошибка 500 (Internal Server Error) пишет что ошибка описана в error.log я не нашел Данная ошибка возникла при переносе с хостинга на собственный VDS сайта mcgrp.ru. Ранее была статья для принудительной загрузки файлов при нажатии по ссылке, вот собственно продолжение этой темы. Ошибка возникает при сборке Апач по умолчанию. Решение этой проблемы подключение доп модуля, аналогично подключению нового сайта, только вместо команды a2ensite пишем в консоли a2enmod headers headers - модуль как раз отвечающий за эту функцию, список других модулей доступных для подключения можно посмотреть в каталоге mods-available

Backup файлов конфигураций оборудования Cisco по расписанию

Так как Cisco очень интересные девайсы и используются во многих серьезных организациях для построения сетей, сетевым администраторам следует предусмотреть способы быстрого восстановления после выхода из строя сети. В случае выхода из строя маршрутизатора или коммутатора, им требуется найти быструю замену для устройств, в случае если проблем с финансированием нет, то скорее всего более менее адекватная дублирующая железка найдеться. Следовательно остается задача организация резервного копирования файлов конфигурации и желательно независимо от желания самого администратора, то есть по расписанию, но есть одна проблема, не на всех версиях ios есть фунции kron. Проблему решает следующий скрип: #!/usr/bin/perl use Net::Telnet (); use Net::Telnet::Cisco; use Mail::Sendmail; my @arrCiscoAddress = ('xxx.yyy.zzz.www',                'xxx.yyy.zzz.www',                'xxx.yyy.zzz.www');     $size = @arrCiscoAddress;     print "Devices Ciscos: ".$s

Способы ускорения индексации сайта поисковыми системами

У каждого оптимизатора есть собственный набор способов оптимизации. В этом топике я опишу свои приемы проверенные на практике для ускорения индексации сайта. Эти способы работают на 2х основных поисковых системах Яндекс и Гугл. 1. Очень важный пункт. Избегание или минимизация ошибок HTML. Для проверки можно воспользоваться сервисом http://validator.w3.org/. 2. Правильные коды ответа сервера на страницах сайта. Для проверки какой код возвращает страница, можно воспользоваться этим сервисом http://inettools.net/answer-http-server.html 3. Использовать только один вид домена либо с www либо без www, естественно лучше использовать без www, так как www все таки поддомен-алиас на основное имя домена. В файле .htaccess соответственно нужно сделать 301 редирект с домена с www на домен без. 4. Правильно составить файл robot.txt, лучше тоже использовать онлайн сервис с указанием большого количества роботов + с указанием расположения sitemap.xml 5. Избегать повторения заголовков страниц, да

Самый простой способ кэширования на стороне сервера php(ob_start())

При написании небольших проектов можно сильно не беспокоиться за, то как нерационально написан скрипт с точки зрения использования процессора и баз данных, допустим если количество посетителей в день не превышает 10-20 человек в день. Но при росте количества посетителей со временем могут происходить сбои работе из за большого количества запросов хостер может просто ограничивать вам ресурсы и следовательно часть скрипта просто не будет выполнена. Мой хостер при большой загрузке блокировал запросы к базе данных и вместо текста и полей не выводилось пустое пространство. Для решения этой проблемы я проделывал работы: 1. Оптимизация кода на php 2. Укорачивание запросов, например выбор только одного поля или нескольких, где использовалось (*). 3. Раз в сутки выполнял запрос с задействованием большого количества полей и условий и записывал в отдельной таблице базы данных результат и выводил только его. 4. Задействовал в самом нагруженном месте функцию php ob_start(). О ней подробнее ниже

Принудительная загрузка файлов (например pdf)

Иногда возникает потребность принудительно открывать окно загрузки файла для пользователя, например при ссылке на файлы pdf, чтобы пользователь скачивал его себе на компьютер, а не просматривал с сервера в окне браузера. Например это необходимо при скрытии реального пути до файла на сервере для защиты от парсинга контента, когда вы сначала загружаете файл со стороннего сервера, например файлсервера, и закачиваете его в папку с именем сессии пользователя. Так же это защищает от того, что пользователи будут скачивать файл по статической ссылке, вместо того чтобы заходить на ваш сайт и при желании щелкать по рекламке. Собственно сама технология очень проста на практике, допустим папки с именем сессии пользователя создаются на сервере сайта в папке temp/ , то есть temp/45asd454sfdg123/file.pdf , в таком случае достаточно в папке temp создать файл .htaccess со следующим содержимым     <files *.mp3>     forceType application/octet-stream     Header set Content-Disposition attach

Рабочий и простой способ ЧПУ(Человеко понятых url адресов)

Мой рабочий способ создания ЧПУ на примере сайта mcgrp.ru . Структура сайта сделана по рекомендациям для вэбмастеров гугла и яндекса. Все станицы доступны в 3 кликах от главной, в данном случае даже 2х. Идея дянного чпу состоит в составлении адреса станицы на основе названия бренда или на основе бренда+названия модели с расширением html. Основные задачи для создания подобных ссылок: 1. Так как названия состоят из кириллических символов, то следовательно необходимо вводить функции преобразование в латиницу. 2. По рекомендациям для разделения слов в ссылках рекомендуется использовать в качестве разделителя дефис("-"). И всяко не стоит использовать пробел. Символ нижнего подчеркивания("_") использовать не стоит, так как он используется в роли оператора объединения, а не разделения. 3. Перехват этих ссылок и подстановка параметров перед загрузкой основной страницы. То есть создать иллюзию того, что были переданы параметры методом Get или Post. Это требуется толь