Жизнь, веб, XMPP, TAS, электронные самоделки

Борьба с вредоносной приставкой «www»

Префикс “www” перед именами сайтов — воистину бич интернета. Болезнь, которую надо лечить. Поэтому нужно увольнять сотрудников, делающих сайты, работающие только с префиксом www. Отрывать руки за приведение таких ссылок на сайты, работающие без этого префикса. И, конечно же, очень полезно принять общесистемные меры, запрещающие использование этого поддомена. Это может быть легко сделано при помощи nginx, достаточно просто добавить один виртуальный узел.

server {
	listen 80;
	server_name ~^www\.(.+)$;
	set $target $1;
	rewrite ^(.*)$ http://$target$1 permanent;
}

Если возникает необходимость запретить использование префикса для какого-либо одного виртуального узла, можно поступить иначе.

server {
	listen 80;
	server_name www.some_server.web.id;
	rewrite ^(.*)$ http://some_server.web.id$1 permanent;
}

Наконец, совсем радикальный способ отучить массы от глупого префикса — выводить ошибку при его указании. В данном примере это 503-я ошибка (Service unavailable), но можно указать любой другой желаемый код ошибки.

server {
	listen 80;
	server_name ~^www\..+$;
	return 503;
}