2011-07-21 5 views
0

今は私のWebサーバーのルートディレクトリに9種類のファイル(javascript、image、stylesheet、php)があります。私はあまりにもこれらのファイルのすべてをhome(ホームページ用)と呼ばれるディレクトリに置いてください。今のところ私のホームページはhttp://example.com/homeです。インデックスファイルをクリーンアップし、ディレクトリに配置しますか?

http://example.com/にアクセスすると、ホームディレクトリのファイルを指しているようにしたいと思います。

私は最初の試みでルートにindex.phpを作成し、自宅のインデックスを含むようにしています。これにより、スタイル、JavaScript、およびインクルード内の相対URLが破損します。これと戦うために、私は$_SERVER['DOCUMENT_ROOT'].'/home/と私のインクルードを前に追加しました。 http://example.com/homehttp://example.com/にリダイレクトしようとすると、さらに多くの問題が発生します。

.htaccessを使用して、これらの方法を改善する方法はありますか?

+1

なぜ 'example.com /' 'example.com/home'にリダイレクトしていませんか?もちろん、これはワームの缶を開くだけです。今度は 'home'ディレクトリに9つのファイルがあります。あなたは'/home/home'を望むでしょう... –

+0

ドメインをexample.com/として表示したい、リダイレクトするのが継ぎ目ではない実行可能な – ThomasReggi

+2

その後、mod_rewriteを使って '/'のヒットを '/ home'に変更します。しかし、あなたは '/ home'サブディレクトリの外側にある'/'に他のコンテンツをホストする能力を失う可能性が非常に高いでしょう。 –

答えて

2

はい、あなたはおそらくのRewriteRuleを追加することができます。

RewriteRule /(.*) /home/$1 [R,L] 
+1

...を作成し、リライトループが発生し、エラーページが表示される可能性があります。すでに書き換えられたURLを書き換えないようにするには、少なくとも条件を追加する必要があります。 – LazyOne

2

Apache httpd.confでDocumentRootを "home"フォルダに変更します。お使いのサーバがmod_rewriteのをサポートしている場合

+0

これは最高の解決策だと思います。異なるサイトを持っていれば、Apache仮想サーバー –

関連する問題