各CMSごとにwwwありなしの手順が違って困るので、備忘録として一覧にしました。
手をつけたCMSごとに順次追加して行きます。
CMSによってはいろいろな方法があると思いますが、あくまで私の手順です。
※SovaのwwwありなしはSovaのwwwありなし設定を参照
wwwありの場合
RewriteEngine Off
RewriteEngine On
RewriteCond %{HTTP_HOST} ^◯◯\.com$ [NC]
RewriteRule ^(.*)$ https://www.◯◯.com/$1 [R=301,L]
wwwなしの場合
RewriteEngine Off
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.◯◯\.com$ [NC]
RewriteRule ^(.*)$ https://◯◯.com/$1 [R=301,L]
とすればOKです。
※書き方は何パターンかありますが私はこんな感じです。
レンタルサーバーのちゅらうみは少し変わっているのでご注意下さい。
wwwなしでドメイン登録
↓
『サブドメイン情報』にwwwありをwwwなしのフォルダを指定する
↓
.htaccessでwwwありに統一
必ずこれしておかないと、
統一しないほうが表示されません
&
中古ドメインの場合に統一しない方の被リンクの効果が反映されない
という感じです。。。
では、CMSごとのwwwありなしの設定手順を書きます。
【Wordpress】
WordPressにログインして『設定』→『一般』の
・WordPress アドレス (URL)
・サイトアドレス (URL)
のURLに『www.』を追記します。
『変更を保存』をクリックするとwwwありのurlに変わって再ログイン画面となります。
【MT】
インストール直下に【.htaccessの書き方】に従って.htaccessをUP
【Drupal】
インストール直下に以下の.htaccessをUP
※最初から直下に.htaccessがあったか覚えていません。
#
# Apache/PHP/Drupal settings:
#
# Protect files and directories from prying eyes.
Order allow,deny
# Don't show directory listings for URLs which map to a directory.
Options -Indexes
# Follow symbolic links in this directory.
Options +FollowSymLinks
# Make Drupal handle any 404 errors.
ErrorDocument 404 /index.php
# Force simple error message for requests for non-existent favicon.ico.
# There is no end quote below, for compatibility with Apache 1.3.
ErrorDocument 404 "The requested file favicon.ico was not found.
# Set the default handler.
DirectoryIndex index.php
# Override PHP settings. More in sites/default/settings.php
# but the following cannot be changed at runtime.
# PHP 4, Apache 1.
php_value magic_quotes_gpc 0
php_value register_globals 0
php_value session.auto_start 0
php_value mbstring.http_input pass
php_value mbstring.http_output pass
php_value mbstring.encoding_translation 0
# PHP 4, Apache 2.
php_value magic_quotes_gpc 0
php_value register_globals 0
php_value session.auto_start 0
php_value mbstring.http_input pass
php_value mbstring.http_output pass
php_value mbstring.encoding_translation 0
# PHP 5, Apache 1 and 2.
php_value magic_quotes_gpc 0
php_value register_globals 0
php_value session.auto_start 0
php_value mbstring.http_input pass
php_value mbstring.http_output pass
php_value mbstring.encoding_translation 0
# Requires mod_expires to be enabled.
# Enable expirations.
ExpiresActive On
# Cache all files for 2 weeks after access (A).
ExpiresDefault A1209600
# Do not allow PHP scripts to be cached unless they explicitly send cache
# headers themselves. Otherwise all scripts would have to overwrite the
# headers set by mod_expires if they want another caching behavior. This may
# fail if an error occurs early in the bootstrap process, and it may cause
# problems if a non-Drupal PHP file is installed in a subdirectory.
ExpiresActive Off
# Various rewrite rules.
RewriteEngine on
# If your site can be accessed both with and without the 'www.' prefix, you
# can use one of the following settings to redirect users to your preferred
# URL, either WITH or WITHOUT the 'www.' prefix. Choose ONLY one option:
#
# To redirect all users to access the site WITH the 'www.' prefix,
# (https://example.com/... will be redirected to https://www.example.com/...)
# adapt and uncomment the following:
# RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
# RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301]
#
# To redirect all users to access the site WITHOUT the 'www.' prefix,
# (https://www.example.com/... will be redirected to https://example.com/...)
# uncomment and adapt the following:
# RewriteCond %{HTTP_HOST} ^(◯◯\.com)(:80)? [NC]
# RewriteRule ^(.*)$ https://www.◯◯.com/$1 [R=301,L]
# Modify the RewriteBase if you are using Drupal in a subdirectory or in a
# VirtualDocumentRoot and the rewrite rules are not working properly.
# For example if your site is at https://example.com/drupal uncomment and
# modify the following line:
# RewriteBase /drupal
#
# If your site is running in a VirtualDocumentRoot at https://example.com/,
# uncomment the following line:
# RewriteBase /
# Rewrite URLs of the form 'x' to the form 'index.php?q=x'.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
# $Id$
のコードの中で
# RewriteCond %{HTTP_HOST} ^(◯◯\.com)(:80)? [NC]
# RewriteRule ^(.*)$ https://www.◯◯.com/$1 [R=301,L]
の先頭にある#を消して
RewriteCond %{HTTP_HOST} ^(◯◯\.com)(:80)? [NC]
RewriteRule ^(.*)$ https://www.◯◯.com/$1 [R=301,L]
に変更して上書きアップロードします。
上の例はwwwありに統一する例です。
なお、Drupalで『Files directory Not fully protected 』エラーもご覧ください。
あと、ログインボタンが消えてしまった場合は
?q=user/login
をつけるとボタンがでてきます。
【concrete5】
■7/16追記 ここから■
更新の案内に従ってバージョンアップしたらサイトが表示されなくなったので
DBを削除してWordpressに変更しました。
CMSの分散のため使用しましたが、たぶん2度とconcrete5は使いません。
concrete5にこだわる理由がないので・・・
■7/16追記 ここまで■
concrete5は.htaccessではwwwが統一出来ませんでした。
他にもやり方があるかもしれませんけど・・・
私の場合は /config/site.phpの最後に
define('BASE_URL', 'https://www.◯◯.com');
を追記したらOKでした。
なお、ドメインURLそのものでconcrete5を運用するには
ドメインのFTPのURLが /public_html/であればpublic_html直下にconcrete5をインストールします。
詳しくはないけどこの記事に詳細?を書きました
今のところ以上です。
順次異なるCMSをいじったらこの記事に追記します。
※ストレスたまるのでWordpress以外のCMSはたまにしかインストールしません。
やっぱWordpressが慣れてるから楽ちんだ!
■7/12 追記 ここから■
コアブログにWordpressインストールしました。
インストール自体も一手間かかるけど、wwwありなし設定がちょっと普通と違う?
以下、手順です。
【コアブログでwwwなしの設定手順】
サーバー設定
↓
ドメインウェブ
で、
メイン:◯◯.com
サブ:www.◯◯.com/転送先URLを『https://◯◯.com』
にして『ドメイン設定ボタン』をポチリ
数分後にはwwwありでアクセスしてもwwwなしに転送される状態になっています。
わかりづらいね。
でも、サーバーのレスポンスはまあまあです
■7/12 追記 ここまで■
■7/15追記 ここから■
ムームードメイン管理のドメインでWordpressをインストールした場合
wwwありなしは直下に.htaccessを置かないとリダイレクトしてくれない
(WordPress内の設定だけじゃダメ)
と思ったけど、DNSの浸透が遅いだけかも?
すんなりいくドメインといかないのがある・・・
■7/15追記 ここまで■