Настраиваем редирект с WWW на без WWW для разных CMS

Эта статья – продолжение  “301 редирект с www и выбор основного зеркала сайта”, только тут мы рассмотрим, как настроить этот редирект для разных популярных CMS

WordPress и редирект с WWW на без WWW

Начнем с этой популярной CMS. На самом деле тут все проще, чем кажется) Этот редирект делаем сам движок, а настроить это можно в админке “Настройик” > “Общее”

Настраиваем редирект с WWW на без WWW для разных CMS

Указываем тут желаемое зеркало – с www или без.

Вот и все для WordPress )

InstantCMS и редирект с WWW на без WWW

Эта CMS сама этот редирект не делает, поэтому его нужно настроить самим с помощью файла .htaccess

Оригинальный .htaccess во 2-ой ветке выглядит так:

# InstantCMS rewriting rules

# Initialization
AddDefaultCharset utf-8
Options -Indexes
RewriteEngine on
RewriteBase /

# Hide text files
RewriteRule ^.htaccess$ - [F]
RewriteRule ^credits.txt$ - [F]
RewriteRule ^readme.txt$ - [F]
RewriteRule ^license.(.*).txt$ - [F]

# Remove trailing slash from URLs
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$  /$1 [R=301,L]

# Sitemaps
RewriteRule ^sitemap(.*).xml$ /cache/static/sitemaps/sitemap$1.xml [L]

# Engine routing
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php [L]

Выбираем код 301 редиректа и вставляем в исходник.

Вот итоговый код файла .htaccess для InstantCMS 2:

# InstantCMS rewriting rules

# Initialization
AddDefaultCharset utf-8
Options -Indexes +FollowSymLinks
RewriteEngine on
RewriteBase /

# with www to
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

# Hide text files
RewriteRule ^.htaccess$ - [F]
RewriteRule ^credits.txt$ - [F]
RewriteRule ^readme.txt$ - [F]
RewriteRule ^license.(.*).txt$ - [F]

# Remove trailing slash from URLs
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$  /$1 [R=301,L]

# Sitemaps
RewriteRule ^sitemap(.*).xml$ /cache/static/sitemaps/sitemap$1.xml [L]

# Engine routing
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php [L]

Статья будет дополняться настройками для новых CMS.