説明:
私は頻繁に私があまりにも大きくなり/var/www/
にあるウェブサイトを持っている場合、この問題に遭遇し、/var/www/main_files
に、その本質的にすべて、移動することを決定しました。単に、シンボリックリンク/var/www/index.html
が/var/www/main_files/index.html
を指していると動作しません。私はそれが機能しない理由は、index.html
ファイルがまだシンボリックリンク(/var/www
)のディレクトリで "実行"されていると考えています。したがって、インクルード/フェッチする必要のあるファイルは、正しいパスを持たなくなります。既存のWebサイトフォルダへのシンボリックリンクをすばやく簡単に作成する方法はありますか?
VHostディレクトリを/var/www/main_files
に変更する可能性がありますが、それはあまりにも永久です。私はまだ/var/www
にいくつかのファイルを置いておきたいかもしれません。また、実際のhtml/php/jsファイル内のファイルパスを手動で変更することもできますが、これはあまりに永久的なだけではなく、辛抱強く遅いです。
質問:
は方法は、mod_rewriteのを(再度、あまりにも永続的である)を使用しての短いあり、シンボリックリンクをたどるようにApacheを指示する(シンボリックリンクを前提としているすべてのドキュメントルート内の)ユーザーが行くとき、および www.example.com/index.htmlに、 www.example.com/main_files/index.htmlにアクセスしたかのようにウェブページを読み込みますか?そうでない場合は、他にどのようなオプションを検討する必要がありますか?動機:
私はサイトをデバッグしたいときに私が最も頻繁にこの問題に遭遇し、私はすぐに無料のテンプレートをダウンロードする(すなわちdownload this one)。これらのテンプレートのほとんどはトップフォルダにすべてのファイルを持っており、特に1つ以上のテンプレートを使用してすべてを/var/www
にダンプするのは面倒です。私が欲しいのは、テンプレート用のサブフォルダを作成することですが、それでもwww.example.com/template1/index.html
しかし、apacheはシンボリックリンクに従いますか?例えば、/home/foo/bar/index.htmlを指し示すシンボリックリンクを設定するとどうなりますか? (ありがとうbtw) – puk
これは私が欲しいものは本当ですか? 'Options -Indexes + FollowSymLinks'のように全部次のようなことがあったからです。 – puk
ドキュメントルート内のファイルをリダイレクトするだけなら、mod_rewriteを使うことができます。シンボリックリンクを使用する場合は、オプションで有効にする必要があります。 おそらくシンボリックリンクは必要なく、書き換えルールだけです(http://stackoverflow.com/questions/990392/htaccess-rewrite-to-redirect-root-url-to-subdirectory – lrosa