こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

.htaccess にてドキュメントルートは変更でいますか。

一般的なレンタルサーバを借りています。
現在ドキュメントルートは、
/www/
になっています。このドキュメントルートを
/www/xxxx/
と変更したいと思います。

httpd.conf を変更出来れば可能なのは理解していますが、root 権限の無いレンタルサーバなため、httpd.conf は変更出来ません。

.htaccess の設置は可能なので .htaccess でドキュメントルートは変更出来ないでしょうか。調べた感じでは出来そうにないと思っていますが、確認のため質問させて頂きます。

現在は、.htaccess でリダイレクトしていますが、アドレスが変わってしまうので何とかしたいと思っています。

投稿日時 - 2008-02-12 01:29:11

QNo.3767708

困ってます

質問者が選んだベストアンサー

なるほど。わかりました。

mod_rewrite を使えば出来そうですが、mod_rewriteは難しい。.htaccessで、
RewriteEngine on
RewriteRule /(.*) /xxx/$1
かなあ。

あとは、逆転の発想で、xxxの中と外を入れ替えませす。具体的には、
public_html/secret/ というディレクトリを作り、現在public_htmlの下にあるウエブから見せたくないファイルをこの下に移動し、
public_html/xxx/ の下のファイル群を全部 public_htmlの直下に移します。
その後、public_html/secret/.htaccessに
<Files "*">
deny from all
</Files>
を書くとそこのファイルはウェブから見えません。

投稿日時 - 2008-02-14 21:38:28

補足

ご返事が遅くなりました。

.htaccess ファイルに下記の記述を入れてみました。
RewriteEngine on
RewriteRule /(.*) /xxx/$1

http://www.hoge.jp/
にアクセスしても、
http://www.hoge.jp/xxx/
のページは開きませんでした。

また、手動で xxx とアドレスを書き足した所

http://www.hoge.jp/xxx/
のページでは以下のエラーが表示されてしまいました。

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, [no address given] and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

ちなみに、.htaccess ファイルで
RewriteEngine on
RewriteRule /index.html /xxx/$1

と書き換え、
http://www.hoge.jp/index.html
にアクセスしても、変化がありませんでした。

なんか残念に思います。

投稿日時 - 2008-02-19 18:53:03

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

ドキュメントルート自体は、システム全体の物なので、.htaccess では変更できるはずがありません。

ただ、おそらくあなたがドキュメントルートという言葉で言いたいことは違うことのような気がします。どう言うところに問題があって、それをどう解決したいのでしょうか?

投稿日時 - 2008-02-14 03:22:55

補足

アドバイスをありがとうございます。

指摘されれば、確かにドキュメントルートと言う表現は違ったかも知れません。ご指摘ありがとうございます。

行いたい事を記載します。
現在共有のレンタルサーバを借りています。レンタルサーバ会社の資料によると、html ファイルを公開するディレクトリは、/www/ となっています。フルパスは、/virtual/www/ になるそうです。

この状態で。
http://www.hoge.jp/

でアクセス出来ます。
ただ事情で、www 直下に html ファイルを置きたくありません。置きたくないと言うより、ファイルが散乱する為、/www/xxx/ と言うディレクトリを作成してファイルを置いています。ですので現在

http://www.hoge.jp/
でアクセスすると、
http://www.hoge.jp/xxx/
が表示出来るように、.htaccess ファイルで、リダイレクトしています。

.htaccess
Redirect permanent /index.html http://www.hoge.jp/xxx/

としています。
この状態だと、
http://www.hoge.jp/
にアクセスすると、
http://www.hoge.jp/xxx/
に URL が変わってからページが表示します。

これを、リダイレクトで無く、
http://www.hoge.jp/
にアクセスしたら
http://www.hoge.jp/xxx/
の内容が、 http://www.hoge.jp/ の URL のまま表示出来ればと思っています。

他の案として
/www/ に index.html ファイルを置いて、/www/xxx/ 内のファイルにリンクする。
もしくは、/www/xxx/ のファイルを直接 /www/ に設置するになると思います。

.htaccess ファイルで実行出来ない場合は、上記の案を実行しますが、その前に、.htaccess で実行出来ないものか質問させて頂きました。

投稿日時 - 2008-02-14 10:15:20

あなたにオススメの質問