説明:
/var/www/
にある Web サイトが大きくなりすぎて、本質的にすべてを に移動することにしたときに、この問題に遭遇することがよくあります/var/www/main_files
。/var/www/index.html
を指すシンボリック リンクを配置するだけで/var/www/main_files/index.html
は機能しません。機能しない理由は、index.html
ファイルがまだシンボリックリンクのディレクトリで「実行」されているためだと思います(/var/www
)。したがって、インクルード/フェッチする必要があるファイルには、正しいパスがありません。
VHost ディレクトリを に変更することもできます/var/www/main_files
が、それは永続的すぎます。にいくつかのファイルが必要な場合があります/var/www
。また、実際の html/php/js ファイルのファイル パスを手動で変更することもできますが、これは永続的すぎるだけでなく、骨の折れるほど遅くなります。
質問:
mod_rewrite を使用しないで (これも永続的すぎる)、シンボリック リンクをたどるように Apache に指示する方法はありますか (シンボリック リンクはすべて docroot 内にあると仮定します)、ユーザーがwww.example.com/index.htmlにアクセスしたときに、ユーザーがwww.example.com/main_files/index.htmlにアクセスしたかのように Web ページをロードしますか? そうでない場合、他にどのようなオプションを検討する必要がありますか?
動機:
ほとんどの場合、サイトをデバッグしたいときにこの問題に遭遇し、すぐに無料のテンプレートをダウンロードします (つまり、これをダウンロードします)。これらのテンプレートのほとんどはすべてのファイルをトップ フォルダに持っているため、すべてを にダンプするのは非常に面倒/var/www
です。特に複数のテンプレートがある場合はそうです。私が望むのは、テンプレートのサブフォルダーを作成することですが、 www.example.com/template1/index.html から明示的にではなく、 www.example.com/index.html からロードできるようにすることです