解決済みの質問
.htaccessに関して質問です。 サイトを公開する際のURLに関して。 ○wwwがない場合...
.htaccessに関して質問です。
サイトを公開する際のURLに関して。
○wwwがない場合、wwwをありのurlにリダイレクトしたい。
○URL末尾のスラッシュがある場合、スラッシュがないURLにリダイレクトしたい。
例示しますね。
○wwwがない場合、wwwをありのurlにリダイレクトしたい。
(例)http://example.com ⇒ http://www.example.com
○URL末尾のスラッシュがある場合、スラッシュがないURLにリダイレクトしたい。
(例)http://www.example.com/ ⇒ http://www.exampe.com
上記を実現するために現状、.htaccessを触っていますが・・。
ただ、.htaccessはほとんど触ったことがないため、どう触っていいか、戸惑っています。
サーバは「さくらインターネットのマネージドサーバ」です。
ご教示いただきたいです。
よろしくお願いします。
-
- 質問日時:
- 2011/9/23 22:03:29
-
- 解決日時:
- 2011/10/8 04:41:52
-
- 回答数:
- 2
-
- 閲覧数:
- 112
-
- ソーシャルブックマークへ投稿:
- Yahoo!ブックマークへ投稿
- はてなブックマークへ投稿
- (ソーシャルブックマークとは)
この質問は投票によってベストアンサーが選ばれました!
- この質問・回答は役に立ちましたか?
- 役に立った!
お役立ち度:0人が役に立つと評価しています。
ベストアンサー以外の回答
(1件中1〜1件)
Apacheのモジュール「mod_rewrite」モジュールを使用します。
○wwwがない場合、wwwをありのurlにリダイレクトしたい。
(例)http://example.com ⇒ http://www.example.com
.htaccessの記述
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.example\.com$
RewriteRule (.*) http://www.example.com/$1 [R=301,L]
</IfModule>
上記設定は、「さくらインターネットのマネージドサーバ」でrewriteモジュールが有効の時に限り有効になる.htaccessの記述方法(IfModule)です。もし、rewriteモジュールがロードされていないのに無理に設定すると、Webページが映らなくなりますので、それを防ぐためにIfModuleを用いて、mod_rewriteモジュールがロードされている場合に限り!という制限を設けています。
あとは、.htaccessの記述に問題がなければ動くわけですが、念の為にテスト用の1ディレクトリを作成し、そのディレクトリ配下に.htaccessを置いて、そのディレクトリにWebブラウザからアクセス(例:http://example.com/htaccess_test/)し、URLが変更されるか、アクセスがリダイレクトされるかお試しください。
○URL末尾のスラッシュがある場合、スラッシュがないURLにリダイレクトしたい。
(例)http://www.example.com/ ⇒ http://www.exampe.com
目的を教えてください。スラッシュを外すことに何か意味はありますか?
そして、現在「http://www.example.com/」でアクセスしたあとのブラウザのアドレスバーに表示されるURLはどうなっているかも教えてください。IE,FireFox,Chromeなどでその差をご覧ください。もし、サーバー上の処理として「スラッシュを外す」必要があるのであれば、サーバー上の処理の詳細を教えてください。
- 違反報告
- 編集日時:2011/9/24 08:43:42
- 回答日時:2011/9/24 08:34:33