2013年9月19日木曜日

ハイフン入りドメイン名でhtaccess,RewriteCondを使用する

単なるメモというか記事の書き直し


さくらインターネットでサーバを借りると初期ドメイン
hogehoge.sakura.ne.jp
がサイト名になる

サイトを作ったら上記を開くとみられるわけだが
独自ドメインを設定した場合、

hogehoge.sakura.ne.jp
hogehoge.ne.jp

と二つのドメインで同じ内容が表示されてしまう。

そこで、hogehoge.sakura.ne.jpをwww.hogehoge.ne.jp に転送するために ftpでアクセスしてから、www 直下に.htaccessを置く。

一般的には、内容は
RewriteEngine on
RewriteCond %{HTTP_HOST} ^hogehogel\.sakura\.ne\.jp$ [NC]
RewriteRule ^(.*)$ http://www.hogehoge.com/$1 [R=301,L]

で良い。

しかし、ドメイン名に、ハイフン - がはいっていると動かない
たとえば
hoge-hoge.sakura.ne.jp
hoge-hoge.ne.jp

ハイフンありの場合、内容は

RewriteEngine on
SetEnv NO_WWW=no
SetEnvIf Host ^hoge-hoge.sakura.ne.jp$ NO_WWW=yes
RewriteCond %{ENV:NO_WWW} yes
RewriteRule (.*) http://www.hoge-hoge.com/$1 [R=301,L]

htaccessの書き換えを on
いったん NO_WWW の箱を作る。
次に NO_WWWを yes で hoge-hoge.sakura.ne.jp を入れておいて
また次の RewriteCond で hoge-hoge.sakura.ne.jp が来たら
URIを書き換えるために RewriteRule で http://www.hoge-hoge.com に転送する。

どんなドメインでも対応できるなら、この書き方が良いと思った。

参考というよりコピペ

ハイフン入りドメイン名でRewriteCondを使用する

http://home.wi-wi.jp/blog/2012/10/10/hyphen-in-domain-name-of-htaccess/


.htaccessのRewriteCond、RewriteRule:超初心者向けメモ


0 件のコメント:

コメントを投稿

SWELL|コーポレートサイトでよくある追従バナーを「複数」設置するカスタマイズ

下記のカスタマイズを参考に、複数のバナーを追加します。同投稿では、段落ブロックを一つ配置して、それをCSSで装飾するものでした。 SWELL|コーポレートサイトでよくある追従バナーを設置するカスタマイズ | VOOL 本 […] 投稿元: Microsoft Power Auto...