今回、wordpressで作ったページをトップとしたいのですが、この場合、どうするのが一番なのでしょうか。
現在、wordpressは、/wordpress/というようにフォルダを中に作りそこに入れているのですが…。
ドメイン ●●●.com を指定したときに、いきなりそのwordpressのページが表示されるようにしたいのです。
エイリアス?の設定で、●●●.com が/wordpress/に行くようにする、というのが一般的なのでしょうか。
ただこういうことをするのがはじめてなので、よく分かりません。
たとえば現在、/wordpress/ 以外にもトップにフォルダがたくさんあるのですが…。
エイリアスで ●●●.com⇒●●●.com/wordpress/ とした場合、今までのフォルダを同じURL指定で表示するのは変わらず行えるものなのでしょうか。
もしくはwordpressのフォルダの中身そのものをすべてトップの直下に持ってくる…などの方法がいいのでしょうか。
初心者で本当に申し訳ありません。
メリット・デメリットなど含めて、どうかお教え頂ければ幸いです。
サーバをwww.hoge.com、htttp://www.hoge.com/にアクセスしたときに開くページがindex.htmlだと仮定します。
1.index.htmlでリダイレクトする。
head内に
<meta http-equiv="refresh" content="10;URL=http://www.hoge.com/wordpress/index.html">
2.Apacheの設定でリダイレクトする。
httpd.confに
Redirect /index.html http://www.hoge.com/wordpress/index.html
http://●●●.com/
にアクセスすると、あたかも
http://●●●.com/wordpress/
にアクセスしてるようにしたいんですよね?しかもURL表示は元のままで。
いくつか手段はありますが、このような場合mod_rewriteの機能であるRewirteRuleを使うのが一般的でしょうか。
というか完全自分管理のサーバでない限り、この方法ぐらいしかとれないでしょう。
幸い、さくらのレンタルサーバはmod_rewriteが使えるようですので、.htaccessにてRewriteRuleを記述するとよいと思います。
.htaccessとは、本来ウェブサーバでの設定が必要になるような動作を、ユーザレベルで設定できるものです。
.htaccessというテキストファイルを作って、中に設定を書くことで実現できます。
手順ですが、まずローカル環境にてテキストファイルを作成します。そしてテキストファイルには
RewriteEngine On RewriteBase / RewriteRule ^(.*)$ /wordpress/$1 [L]
と書いて適当な名前で保存します。最後の行には改行を忘れずに入れてください。
続いてFTPなどでこのテキストファイルをhttp://●●●.com/に相当するトップディレクトリにアップロードし、ファイル名を.htaccessに変更します。
この設定ファイルの記述が間違ってると動作しなくなるので、さくらのレンタルサーバでの.htaccessに関する注意は以下のページなんかを参照ください。http://faq.sakuratan.com/wiki/wiki.cgi?%2ehtaccess#i1
.htaccessの効力範囲は、設置したディレクトリより下層のディレクトリ全部に及びますが、
さてこのままだとhttp://●●●.com/img/にアクセスするとhttp://●●●.com/wordpress/img/の内容が返ります。
またhttp://●●●.com/wordpress/にアクセスすると、http://●●●.com/wordpress/wordpress/の内容が返ります。
maiko8さんはトップディレクトリにはwordpress以外ににも多数のディレクトリがあり、そこには今まで通りのURLでアクセスしたいとおっしゃってます。
たとえばトップにimgというディレクトリがあって、ここには通常通りアクセスしたつもりでも、このままでは上記のような感じでwordpressディレクトリ以下に飛ばされてしまいます。
ですからトップにあるすべてのディレクトリに、トップディレクトリに置いた.htaccessの設定を打ち消すための.htaccessを設定して設置します。内容は以下です。
RewriteEngine Off
↑を書いた.htaccessファイルをwordpressを含めたトップにあるすべてのディレクトリにアップロードしてください。
記述が正しければこれで望みの動作をするかと。
設定を間違うと、画面がエラーで表示されなかったり、延々転送を続けて無限ループになったりしますので、その場合はページを閉じて設定を見直してください。
~参考~
さくらインターネット オンラインヘルプ - .htaccessについて
http://support.sakura.ad.jp/support/manual/rs/tech_htaccess.shtm...
さくらのレンタルサーバでの.htaccessについて
http://faq.sakuratan.com/wiki/wiki.cgi?.htaccess
RewriteRuleのサンプル
http://memorva.jp/memo/linux/mod_rewrite.php
RwriteRuleの詳しい書き方
なるほど、すごい。プロですね。
本当にありがとうございます。
リダイレクトの場合URLも書き換わります。
mod_redirectを使って、
RewriteEngine On
RewriteRule ^/$ /wordpress/ [R]
とやっても、そのファイルの中にあるリンクをたどるとどうもほんとのURLが正体を現すようですが、そちらの環境でやってみてください。
wordpressのフォルダの中身そのものをすべてトップの直下に持ってくる…などの方法がいいのでしょうか
これが手っ取り早い。
なるほどなるほど。
いや、色々な方法があることが分かりました。ありがとうございます。
ごめんなさい。
用語がまだよく分からず…。
リダイレクトというのは、「そこに飛ぶ」という命令でしたでしょうか…。
そうすると、
hoge.com
にアクセスすると、無言で
hoge.com/wordpress/
というように、URL表示欄は書き換えられている、ということでしょうか…。
表記はhoge.comのままにしたいのですが、それはリダイレクトで可能…なものなのでしょうか。
すみません。もしお分かりになりましたら詳しくお教え頂ければ幸いです。