SEOшники очень любят склеивать имя домена с www. и без него, оставляя что-то одно, кому что больше нравится. Лично мне больше нравится без www, т.к. www – пережиток прошлого, эдакий атавизм.
Apache
В веб-сервере Apache для склейки, как правило, используется редирект или реврайт (правило). Первый способ – это создание двух отдельных доменов на сервере и перенаправление с домена с www на домен без www с помощью редиректа в файле .htaccess, например:
RedirectMatch (.*) https://domain.tld/$1
Если вы сторонник mod_rewrite и домен у вас создан не раздельно, можно использовать следующий код:
Options +FollowSymLinks RewriteEngine on RewriteBase / RewriteCond %{HTTP_HOST} !^www.domain.tld$ [NC] RewriteRule ^(.*)$ https://www.domain.tld/$1 [R=301,NC]
При этом будет происходить редирект с domain.tld на www.domain.tld, если нужно наоборот, просто удалите в правиле "www".
Nginx
В веб-сервере nginx, чтобы перенаправлять запросы с домена с www на домен без www, пропишите в блоке server{} следующий код:
if ($host != 'domain.tld' ) { rewrite ^/(.*)$ https://domain.tld/$1 permanent; }
Но в этом случае вы не сможете использовать субдомены, если они вам нужны :), пропишите следующее правило:
if ($host = 'www.domain.tld' ) { rewrite ^/(.*)$ https://domain.tld/$1 permanent; }
N.B.
Учтите, что ВордПресс сам умеет редиректить, в нем нужно изменить настройки в:
Параметры –> Общие
Пропишите в блоках "Адрес WordPress (URL)" и "Адрес сайта (URL)" желаемый адрес, имя домена с www или без него.
TIP
Вы также можете изменить директорию установки WordPress.
Редирект на разных языках
ColdFusion Redirect
<.cfheader statuscode="301" statustext="Moved permanently"> <.cfheader name="Location" value="https://domain.tld">
PHP Redirect
<?php Header( "HTTP/1.1 301 Moved Permanently" ); Header( "Location: https://domain.tld" ); ?>
ASP Redirect
<%@ Language=VBScript %> <% Response.Status="301 Moved Permanently" Response.AddHeader "Location","https://domain.tld/" %>
ASP .NET Redirect
<script runat="server"> private void Page_Load(object sender, System.EventArgs e) { Response.Status = "301 Moved Permanently"; Response.AddHeader("Location",https://domain.tld); } </script>
JSP (Java) Redirect
<% response.setStatus(301); response.setHeader( "Location", "https://domain.tld/" ); response.setHeader( "Connection", "close" ); %>
CGI PERL Redirect
$q = new CGI; print $q->redirect("https://domain.tld/");
Ruby on Rails Redirect
def old_action headers["Status"] = "301 Moved Permanently" redirect_to "https://domain.tld/" end