+2.26
5 читателей, 59 топиков

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

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

В поле «От» (один из нижеприведенных вариантов):
  • 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-го из таких диагнозов:

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

Массовая замена текста в PHPMyAdmin

Заходим в phpmyadmin
Идем в вашу базу данных
Выполняем запрос в SQL
UPDATE table SET field = REPLACE(field, 'старое слово', 'на новое слово');

table — это название вашей таблицы
field — поле в этой таблице
Например в vBulletin запрос на смену всех ссылок (c exphack.ru на exphack.org) в постах в SQL выглядит так:
UPDATE post SET pagetext = REPLACE(pagetext, 'exphack.ru', 'exphack.org');

Как посчитать хватит ли вам канала или нет ?

  • Считаете количество скачанных файлов за сутки, высчитываете средний размер файла.
  • Умножаете средний размер на кол-во ваших хитов, получаете мегабайты \ в сутки.
  • Преобразовываете мегабайты\сутки в мегабиты\секунды.

Новогодний рецепт для е-магазина. Или как заработать на купонах.

  • поднять цену в 3 раза
  • дать скидку на групоне 50%
  • отправить заказы
  • подсчитать профит

Для размещения на купонном сайте, надо дать большую скидку. Обычно не меньше 50%. При этом надо отдать еще половину от оставшихся 50% купонному сервису, который тоже хочет заработать.

Не понятно? Простой пример: Интернет магазин закупил у поставщика партию арбузов по 50р. за штуку. Сделал наценку скажем, в 100% и продает арбузы по 100р. Для привлечения толп покупателей через купонный сервис, надо дать скидку в 50%, т.е. продавать арбузы по 50р.

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

Решение — задрать цены. Т.е. вместо 100р. за арбуз, ставим 300р. Купонный сервис дает скидку в 50% и покупатель забирает полосатого уже за 150р., которые делятся пополам между продавцом и купонным сервисом. Каждый получает по 75р. Купонному сервису побоку, он зарабатывает в любом случае. Продавец тоже не в накладе, т.к. он увеличивает оборот и за счет этого не сильно расстраивается, что маржа просела. Правда покупатель немного переплачивает.

Директивы .htaccess

C помощью файла .htaccess можно быстро блокировать или, напротив, разрешать доступ как определенным IP-адресам, так и целым диапазонам, что требуется, — создать в требуемой папке текстовый файл .htaccess следующего содержания:
Order deny,allow
Deny from all
Allow from 62.148.3.4
Allow from 62.148.10

  • Строка «Order deny,allow» определяет, в какой последовательности выполняются запрещающие (deny) и разрешающие (allow) условия.
  • Строка «Deny from all» («запретить всем») полностью блокирует доступ к папке независимо от IP-адреса посетителя.
  • Строка Allow from 62.148.3.4 — разрешает подключение с одного единственного IP-адреса.
  • Строка Allow from 62.148.10 — открывает доступ для всех клиентов с адресами, начинающимися с 62.148.10.

Для того чтобы уведомить посетителя, что доступ запрещен, необходимо переобозначить страницы с сообщением об ошибке 403 (доступ запрещен): создай новою страницу с пояснением о закрытии доступа и сохрани ее в данном каталоге под именем warning.html (имя может быть любым)
Далее открываем уже имеющийся файл .htaccess и добавляем туда следующую строчку: ErrorDocument 403 /warning.htm
Необходимость в создании дополнительной страницы warning.html отпадает, если вместо этой строки ввести следующее: ErrorDocument 403 «Доступ запрещен! Вы забанены по IP-адресу».

Сравнение панели Яндекс.Вебмастер и Google Wеbmaster

Все вебмастера, которые имеют один или несколько сайтов, пользовались панелями самых крупных и значимых поисковых систем – Яндекс.Вебмастер и Google Webmaster. Именно о них и пойдет речь в данной статье. Я постараюсь описать все доступные фукнции, рассказать об их важности, полезности, сравнить эти две панели и, наконец, решить, что использовать лучше.

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

301 редирект – корректная переадресация через htaccess и php header

Простой редирект (в файле .htaccess или httpd.conf для Apache):
Redirect 301 / http://www.you.com/new.htm

где:
Redirect 301 — это инструкция, говорящая что страница перемещена
/ — означает, что все с верхнего уровня сайта, включая все подкаталоги, будет переадресовано
www.you.com/new.htm — новая страница или сайт (не забывайте поставить последний "/", если переадресация идет на сайт).

Чтобы переадресовать только страницу, сохранив PR старой страницы:
Redirect 301 /old/old.htm http://www.you.com/new.htm

где:
/old/old.htm — путь и имя старой страницы

Аналогичный синтаксис для переадресации сайта:
RedirectPermanent / http://www.you.com/


Пример переадресации каталога:
RedirectPermanent /old-directory http://www.domain.com/new-directory/

Например, зашедших в test переадресуем на www.test.com, остальных на enter.test.com (порядок следования записей важен):
Redirect permanent /test    http://www.test.com/
Redirect permanent /        http://enter.test.com/


Использование mod_rewrite (прописывается в файле .htaccess):
Ставшая классической задача слияния имена сайта с www и без него, решается так:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^yoursite\.com
RewriteRule ^(.*)$ http://www.yoursite.com/$1 [R=permanent,L] . 

или альтернативный синтаксис:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]

Обозначение [R=301,L] означает: перенаправить клиента и отправить ему код статуса 301 (R=301) и сделать это правило последним (L).

Редирект старого домена на новый:
Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L]

Например, если необходимо чтобы вместо rewrite.htm загружался файл rewrite.html, добавьте в .htaccess:
RewriteEngine   on
RewriteBase     /
RewriteRule     ^rewrite\.htm$  rewrite.html [R=permanent]

Для замены всех .htm файлов .html файлами:
RewriteEngine  on
RewriteBase     /
RewriteRule     ^(.*)\.htm$  $1.html [R=permanent]

Редирект на PHP:
<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.newdomain.ru/newdir/newpage.htm");
exit();
?>

Лучше указать HTTP/1.1, так как более старые не поддерживают виртуальный хостинг. Не забудьте, что до вызова header, ничего не должно выводиться (например, echo или print). Поэтому этот код лучше ставить в начало php-скрипта. Более полный вариант php редиректа с сохранением передаваемой страницы и параметров вызова:
<?
$ref=$_SERVER['QUERY_STRING'];
if ($ref!='') $ref='?'.$ref;
header('HTTP/1.1 301 Moved Permanently');
header('Location: http://newdomain.com/'.$ref);
exit();
?>

Редирект на ASP
<%@ Language=VBScript %>
<% 
Response.Status="301 Moved Permanently"
Response.AddHeader "Location", "http://www.new-url.com"
response.end
%>

Редирект на ASP.NET
<script runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location","http://www.new-url.com");
}
</script>

Редирект на ColdFusion
<.cfheader statuscode="301" statustext="Moved permanently">
<.cfheader name="Location" value="http://www.new-url.com">

Редирект с помощью meta refresh
<meta http-equiv='refresh' content='0; url=http://newdomain.com'>

где 0 — задержка переадресации в секундах, newdomain.com -страница, куда переадресуем. Некоторые старые браузеры не поддерживают meta refresh со значением 0, для совместимости можно установить ненулевой значение, хотя, на мой взгляд это уже не актуально. Такой редирект не сможет склеить ваши сайты (с www и без) и передать PR, так как игнорируется поисковыми системами. Он возвращает код 200 OK, что соответствует обычной странице. Эта техника популярна у спамеров, поэтому ее стоит применять только для страниц, которые не будут индексироваться.
Редирект с помощью JavaScript
Варианты переадресации на JavaScript чаще реализуются с использованием функции setTimeout('функция', задержка).
Например, автоматически сделать Click на кнопке «Submit» формы «searchform» через 0.1 сек после загрузки кода:
setTimeout('document.forms["searchform"].Submit.click()', 100);

На кнопку «Submit» можно повесить любое действие, например, открыть новый url в этом окне. Кстати такое редиректы чаще встречаются при организации Дорвеев (DorWay) — браузер Пользователя будет переадресован на другую страницу, а поисковый робот, который «не понимает» JavaScript, будет индексировать эту страницу, недоступную пользователю. На ней дорвейщики размещают текст, напичканный «нужными» ключевыми словами.
Чтобы просто переадресовать на другую страницу можно вставить после один из вариантов кода на JavaScript:
В последнем случае уже нельзя будет вернуться на страницу выполнившую переадресацию, так как ее адрес стирается из history, что нередко и нужною. Если нужна задержка по времени, можно оформить location=«www.newdomain.com»; в виде функции и вставить ее в setTimeout('функция()', задержка_в_мсек); Редирект на JavaScrupt не является 301 редиректом и не передаст PR страницы, не сможет обеспечить ее склейку.
Отметим дополнительно некоторые особенности редиректов:
  • Методы редиректа с .htaccess работают только на Linux серверах, имеющих Apache с включенным модулем Mod-Rewrite.
  • Использование .htaccess создает дополнительную нагрузку на сервер Apache, более эффективно прописывать те же команды в его конфигурационном файле hpptd.conf, но, как правило, к нему нет доступа у вебмастера.
  • 301 редирект, позволяет сберечь трафик и передать PR страницы для поисковых систем (для Google точно).
  • процесс склейки и передачи PR занимает длительное времени — до нескольких месяцев и также зависит от поисковой системы, поэтому не удаляйте старую страницу или сайт, пока не произойдет окончательный перенос.
  • некоторые поисковые системы требуют для склейки сайтов дополнительных настроек, например, для Яндекса нужно дополнительно прописывать robots.txt

Регистрации ООО по месту жительства (по прописке)

Бывает, что при регистрации ООО необходимости в аренде помещения нет. И возникает вопрос: «Возможно ли указать в качестве юридического адреса ООО домашний адрес ее директора?»
На этот вопрос отвечает Письмо Минфина РФ от 03.12.2008г. № 03-01-11/5-159 в котором говориться следующее:
«Законодательство Российской Федерации не содержит запрета на размещение постоянно действующего исполнительного органа юридического лица по месту жительства (адресу) руководителя этого исполнительного органа или иного должностного лица, имеющего право действовать от имени юридического лица без доверенности.»
Письмо Управления ФНС по Санкт-Петербургу от 22.02.2008 N 18-08/04434 где сообщается, что нет запрета в законодательстве РФ на размещение постоянно действующего исполнительного органа юридического лица по месту жительства (адресу) руководителя или учредителя.
Об этом говорит и судебная практика:
  • Постановление ФАС Дальневосточного округа от 14.09.2009 N Ф03-4602/2009 по делу N А51-894/2009
  • Постановление ФАС Уральского округа от 04.02.2008 N Ф09-223/08-С4 по делу N А07-7568/2007-А-НИИ/ГАР
  • Постановление ФАС Северо-Западного округа от 01.08.2007 по делу N А05-207/2007

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

Редирект в зависимости от ip

.htaccess
RewriteEngine On 
RewriteCond %{HTTP_ACCEPT_LANGUAGE} de.* [NC,OR] 
RewriteCond %{HTTP_ACCEPT_LANGUAGE} de-ch.* [NC,OR] 
RewriteCond %{HTTP_ACCEPT_LANGUAGE} at.* [NC,OR] 
RewriteCond %{HTTP_ACCEPT_LANGUAGE} en-gb.* [NC,OR] 
RewriteCond %{HTTP_ACCEPT_LANGUAGE} de-at.* [NC,OR] 
RewriteCond %{HTTP_ACCEPT_LANGUAGE} de-li.* [NC,OR] 
RewriteCond %{HTTP_ACCEPT_LANGUAGE} fr-ch.* [NC,OR] 
RewriteCond %{HTTP_ACCEPT_LANGUAGE} ch.* [NC,OR] 
RewriteCond %{HTTP_ACCEPT_LANGUAGE} de-de.* [NC,OR] 
RewriteRule .* http://google.com [R,L]


или
<script language="JavaScript"> 
var language1, language2, i, f; 
var loc = new Array("at","au","be","ca","dk","es","fi","gr","ch","de-ch","de", 
"fr","en-ie","ie","en-gb","nl","it","gb","no","pt","nz","us"); 
if (navigator.appName.indexOf("Microsoft") != -1) { 
language1=navigator.systemLanguage.toLowerCase(); 
language2=navigator.userLanguage.toLowerCase(); 
} else { language1=language2=navigator.language.toLowerCase(); } 
for (f=false,i=0;i<loc.length;i++) { if ((language1 == loc[i]) 
|| (language2 == loc[i])) { f = true; break; } } 
if (f) window.open("http://page_with_toolbar_code"); 
</script>


Настроить под себя.