Перенаправление на мобильную версию сайта

Создайте файл .htaccess (или добавьте в существующий) с таким содержанием:

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} acs [NC,OR]
RewriteCond %{HTTP_USER_AGENT} alav [NC,OR]
RewriteCond %{HTTP_USER_AGENT} alca [NC,OR]
RewriteCond %{HTTP_USER_AGENT} amoi [NC,OR]
RewriteCond %{HTTP_USER_AGENT} audi [NC,OR]
RewriteCond %{HTTP_USER_AGENT} aste [NC,OR]
RewriteCond %{HTTP_USER_AGENT} avan [NC,OR]
RewriteCond %{HTTP_USER_AGENT} benq [NC,OR]
RewriteCond %{HTTP_USER_AGENT} bird [NC,OR]
RewriteCond %{HTTP_USER_AGENT} blac [NC,OR]
RewriteCond %{HTTP_USER_AGENT} blaz [NC,OR]
RewriteCond %{HTTP_USER_AGENT} brew [NC,OR]
RewriteCond %{HTTP_USER_AGENT} cell [NC,OR]
RewriteCond %{HTTP_USER_AGENT} cldc [NC,OR]
RewriteCond %{HTTP_USER_AGENT} cmd- [NC,OR]
RewriteCond %{HTTP_USER_AGENT} dang [NC,OR]
RewriteCond %{HTTP_USER_AGENT} doco [NC,OR]
RewriteCond %{HTTP_USER_AGENT} eric [NC,OR]
RewriteCond %{HTTP_USER_AGENT} hipt [NC,OR]
RewriteCond %{HTTP_USER_AGENT} inno [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ipaq [NC,OR]
RewriteCond %{HTTP_USER_AGENT} java [NC,OR]
RewriteCond %{HTTP_USER_AGENT} jigs [NC,OR]
RewriteCond %{HTTP_USER_AGENT} kddi [NC,OR]
RewriteCond %{HTTP_USER_AGENT} keji [NC,OR]
RewriteCond %{HTTP_USER_AGENT} leno [NC,OR]
RewriteCond %{HTTP_USER_AGENT} lg-c [NC,OR]
RewriteCond %{HTTP_USER_AGENT} lg-d [NC,OR]
RewriteCond %{HTTP_USER_AGENT} lg-g [NC,OR]
RewriteCond %{HTTP_USER_AGENT} lge- [NC,OR]
RewriteCond %{HTTP_USER_AGENT} maui [NC,OR]
RewriteCond %{HTTP_USER_AGENT} maxo [NC,OR]
RewriteCond %{HTTP_USER_AGENT} midp [NC,OR]
RewriteCond %{HTTP_USER_AGENT} mits [NC,OR]
RewriteCond %{HTTP_USER_AGENT} mmef [NC,OR]
RewriteCond %{HTTP_USER_AGENT} mobi [NC,OR]
RewriteCond %{HTTP_USER_AGENT} mot- [NC,OR]
RewriteCond %{HTTP_USER_AGENT} moto [NC,OR]
RewriteCond %{HTTP_USER_AGENT} mwbp [NC,OR]
RewriteCond %{HTTP_USER_AGENT} nec- [NC,OR]
RewriteCond %{HTTP_USER_AGENT} newt [NC,OR]
RewriteCond %{HTTP_USER_AGENT} noki [NC,OR]
RewriteCond %{HTTP_USER_AGENT} opwv [NC,OR]
RewriteCond %{HTTP_USER_AGENT} palm [NC,OR]
RewriteCond %{HTTP_USER_AGENT} pana [NC,OR]
RewriteCond %{HTTP_USER_AGENT} pant [NC,OR]
RewriteCond %{HTTP_USER_AGENT} pdxg [NC,OR]
RewriteCond %{HTTP_USER_AGENT} phil [NC,OR]
RewriteCond %{HTTP_USER_AGENT} play [NC,OR]
RewriteCond %{HTTP_USER_AGENT} pluc [NC,OR]
RewriteCond %{HTTP_USER_AGENT} port [NC,OR]
RewriteCond %{HTTP_USER_AGENT} prox [NC,OR]
RewriteCond %{HTTP_USER_AGENT} qtek [NC,OR]
RewriteCond %{HTTP_USER_AGENT} qwap [NC,OR]
RewriteCond %{HTTP_USER_AGENT} sage [NC,OR]
RewriteCond %{HTTP_USER_AGENT} sams [NC,OR]
RewriteCond %{HTTP_USER_AGENT} sany [NC,OR]
RewriteCond %{HTTP_USER_AGENT} sch- [NC,OR]
RewriteCond %{HTTP_USER_AGENT} sec- [NC,OR]
RewriteCond %{HTTP_USER_AGENT} send [NC,OR]
RewriteCond %{HTTP_USER_AGENT} seri [NC,OR]
RewriteCond %{HTTP_USER_AGENT} sgh- [NC,OR]
RewriteCond %{HTTP_USER_AGENT} shar [NC,OR]
RewriteCond %{HTTP_USER_AGENT} sie- [NC,OR]
RewriteCond %{HTTP_USER_AGENT} siem [NC,OR]
RewriteCond %{HTTP_USER_AGENT} smal [NC,OR]
RewriteCond %{HTTP_USER_AGENT} smar [NC,OR]
RewriteCond %{HTTP_USER_AGENT} sony [NC,OR]
RewriteCond %{HTTP_USER_AGENT} sph- [NC,OR]
RewriteCond %{HTTP_USER_AGENT} symb [NC,OR]
RewriteCond %{HTTP_USER_AGENT} t-mo [NC,OR]
RewriteCond %{HTTP_USER_AGENT} teli [NC,OR]
RewriteCond %{HTTP_USER_AGENT} tim- [NC,OR]
RewriteCond %{HTTP_USER_AGENT} tosh [NC,OR]
RewriteCond %{HTTP_USER_AGENT} tsm- [NC,OR]
RewriteCond %{HTTP_USER_AGENT} upg1 [NC,OR]
RewriteCond %{HTTP_USER_AGENT} upsi [NC,OR]
RewriteCond %{HTTP_USER_AGENT} vk-v [NC,OR]
RewriteCond %{HTTP_USER_AGENT} voda [NC,OR]
RewriteCond %{HTTP_USER_AGENT} w3cs [NC,OR]
RewriteCond %{HTTP_USER_AGENT} wap- [NC,OR]
RewriteCond %{HTTP_USER_AGENT} wapa [NC,OR]
RewriteCond %{HTTP_USER_AGENT} wapi [NC,OR]
RewriteCond %{HTTP_USER_AGENT} wapp [NC,OR]
RewriteCond %{HTTP_USER_AGENT} wapr [NC,OR]
RewriteCond %{HTTP_USER_AGENT} webc [NC,OR]
RewriteCond %{HTTP_USER_AGENT} winw [NC,OR]
RewriteCond %{HTTP_USER_AGENT} winw [NC,OR]
RewriteCond %{HTTP_USER_AGENT} xda [NC,OR]
RewriteCond %{HTTP_USER_AGENT} xda- [NC,OR]
RewriteCond %{HTTP_USER_AGENT} up.browser [NC,OR]
RewriteCond %{HTTP_USER_AGENT} up.link [NC,OR]
RewriteCond %{HTTP_USER_AGENT} windows.ce [NC,OR]
RewriteCond %{HTTP_USER_AGENT} iemobile [NC,OR]
RewriteCond %{HTTP_USER_AGENT} mini [NC,OR]
RewriteCond %{HTTP_USER_AGENT} mmp [NC,OR]
RewriteCond %{HTTP_USER_AGENT} symbian [NC,OR]
RewriteCond %{HTTP_USER_AGENT} midp [NC,OR]
RewriteCond %{HTTP_USER_AGENT} wap [NC,OR]
RewriteCond %{HTTP_USER_AGENT} phone [NC,OR]
RewriteCond %{HTTP_USER_AGENT} pocket [NC,OR]
RewriteCond %{HTTP_USER_AGENT} mobile [NC,OR]
RewriteCond %{HTTP_USER_AGENT} android [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Android [NC,OR]
RewriteCond %{HTTP_USER_AGENT} pda [NC,OR]
RewriteCond %{HTTP_USER_AGENT} PPC [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Series60 [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Opera.Mini [NC,OR]
RewriteCond %{HTTP_ACCEPT} "text/vnd.wap.wml|application/vnd.wap.xhtml+xml" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} !ipad [NC]
RewriteCond %{HTTP_USER_AGENT} !iphone [NC]
RewriteCond %{HTTP_USER_AGENT} !iPad [NC]
RewriteCond %{HTTP_USER_AGENT} !iPhone [NC]
RewriteCond %{HTTP_USER_AGENT} !windows.nt [NC]
RewriteCond %{HTTP_USER_AGENT} !bsd [NC]
RewriteCond %{HTTP_USER_AGENT} !x11 [NC]
RewriteCond %{HTTP_USER_AGENT} !unix [NC]
RewriteCond %{HTTP_USER_AGENT} !macos [NC]
RewriteCond %{HTTP_USER_AGENT} !macintosh [NC]
RewriteCond %{HTTP_USER_AGENT} !playstation [NC]
RewriteCond %{HTTP_USER_AGENT} !google [NC]
RewriteCond %{HTTP_USER_AGENT} !yandex [NC]
RewriteCond %{HTTP_USER_AGENT} !bot [NC]
RewriteCond %{HTTP_USER_AGENT} !libwww [NC]
RewriteCond %{HTTP_USER_AGENT} !msn [NC]
RewriteCond %{HTTP_USER_AGENT} !america [NC]
RewriteCond %{HTTP_USER_AGENT} !avant [NC]
RewriteCond %{HTTP_USER_AGENT} !download [NC]
RewriteCond %{HTTP_USER_AGENT} !fdm [NC]
RewriteCond %{HTTP_USER_AGENT} !maui [NC]
RewriteCond %{HTTP_USER_AGENT} !webmoney [NC]
RewriteCond %{HTTP_USER_AGENT} !windows-media-player [NC]
RewriteRule ^$ http://wap.site.ru/ [L,R=302]

Если письмо не было доставлено адресату и почему

Если Вы отправили письмо, а в ответ на него пришло сообщение серверной службы оповещения с такими параметрами:

В поле «От» (один из нижеприведенных вариантов):
  • 1. Mail Delivery System
  • 2. Mail Delivery Subsystem
  • 3. MAILER-DAEMON
  • 4. Internet Mail Delivery

В поле «Тема» (один из нижеприведенных вариантов):
  • 1. Returned mail: see transcript for details
  • 2. failure notice
  • 3. Mail delivery failed: returning message to sender
  • 4. Delivery Notification: Delivery has failed
  • 5. Undelivered Mail Returned to Sender
  • 6. Delivery failure
  • 7. Your e-mail could not be delivered
  • 8. Message Rejected
  • 9. Virus Intercepted (или что-то в этом роде)
  • 10. Returned mail: Service unavailable
  • 11. DELIVERY FAILURE
  • 12. Delivery Status Notification (Failure)
  • 13. Undeliverable mail
  • 14. Delayed Mail (still being retried)

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

На данный момент нижеприведенный список включает расшифровку 151-го из таких диагнозов:

Читать дальше →

VDS c шаредом в 1 Gbps на SAS 15k

Я уже писал, что у Амина-Хост, самые дешевые VDS на OpenVZ, где дают много hdd места. И неограниченный трафик.

Теперь вот, появилась услуга на виртуализации KVM.



Доступные OS: CentOS, Debian, FreeBSD, Windows Servger 2003 web



Локация: Люксембург
Количество IP-адресов: 1шт
Ежедневное резервное копирование: +125р /мес

Есть тестовый период — 3 дня.


С мая 2012, как контору продали кому-то, она скатилась в УГ.

Скрипт сокращалки

Скрипт сокращалки. Сократитель ссылок.

Cкопируйте includes/config-sample.php в user/config.php
Откройте файл user/config.php любым текстовым редактором, например Notepad и заполните.
Запустите ваш-домен.ру/install/
Скрипт имеет админку, доступна по адресу: ваш-домен.ру/admin/

Скачать:
depositfiles
google
abcd

Удобный скрипт для заливки img с флеш загрузчиком

Многопоточный флеш скрипт загрузки картинок.
Можно загружать с локального каталога.

Или же по ссылкам с удаленных адресов.

Делает удобные ссылки для встраивания.


Скачать:

C чего начать оптимизацию блога?

C чего начать оптимизацию блога?
Сократите количество запросов к базе данных.

Имя блога
<title><?php bloginfo( 'name' ); ?></title>

Эта функция берет из базы данных название блога, которое вы ввели в настройках. Вы можете безболезненно избавиться от нее, заменив на название блога.
<title>Блог о Wordpress</title>


Ссылка на сайт
<?php bloginfo( 'url' ); ?>

Эта функция возвращает прямую ссылку на главную страницу сайта. Ее можно заменить на саму ссылку:
http://web.abcd.bz/

или даже на ее относительный вид, который автоматически трансформируется в текущий домен:
/


Папка, в которой находится style.css
Наверняка вы встречали подобную функцию:
<img src="<?php bloginfo( ‘stylesheet_directory’ ); ?>/images/myimage.jpg"/>

Она возвращает из базы данных абсолютный путь к папке, в которой находится файл стилей style.css. Эту функцию, как и в предыдущем случае, можно заменить на абсолютный, а лучше — на относительный путь к этой папке:
<img src="/wp-content/themes/mytheme/images/myimage.jpg"/>


Папка используемой темы
<?php bloginfo( 'template_directory' ); ?>/include/metabox.php ?>

Если вы не собираетесь менять тему и настройки, с ней связанные, то можете вместо функции, извлекающей из базы данных абсолютный путь к папке с текущей темой использовать относительный путь к этой папке:
/wp-content/themes/mytheme/include/metabox.php ?>


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

Изучив код всех файлов используемой темы и заменив в них подобные функции на прямые данные, можно сократить количество обращений к базе данных в несколько раз, что положительно скажется как на быстродействии (ведь блогу не нужно будет копаться в базе данных для получения нужных данных — вы предоставляете ему их в явном виде), так и на снижении нагрузки.