1

この仮想ホスト スニペットのサンプルを見てください。

<VirtualHost *:80>
    DocumentRoot /web/content
    ServerName   me.example.com
</VirtualHost>

/web/contentにindex.htmlとpage.htmlの2 つのファイルと、 yellow.htmlを含むサブディレクトリcolorsが含まれているとしますindex.htmlhref="/page.html"には、や などのリンクが含まれており、Web ルートを参照するためhref="/colors/yellow.html"に使用されます。/

me.example.com/test/をサイトのルートとして内部的に使用する方法はありますか? つまり、ユーザーがhttp://me.example.com/test/にアクセスしたときに、 /web/content/index.htmlを取得したいと考えています。そのため、URL の/test/は基本的にダミーの「フォルダー」になります。

基本的に、 me.example.com/test がサブドメイン (たとえば、test.me.example.com ) とまったく同じように機能することを望みます。設定のようなものServerName me.example.com/test(しかし、それがうまくいかないことはわかっています)。

単純に REAL フォルダー/web/content/testを作成してそこにすべてを配置できることはわかっていますが、 /web/contentを Web ルートとして/引き続き参照するため、 で始まるリンクが壊れてしまいます。のようなディレクティブを追加すると、同じ問題が発生します。Alias /test /web/content

ここにオプションはありますか?RewriteBase をどうにか使っているのでしょうか。(私は運が悪いいくつかのことを試しました。)

4

1 に答える 1

2

これをドキュメントルートのhtaccessファイルに入れてみてください

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/test/(.*)$
RewriteCond %{DOCUMENT_ROOT}/%1 -f [OR]
RewriteCond %{DOCUMENT_ROOT}/%1 -d
RewriteRule ^ /%1 [L]

/test/これにより、 URI パスがドキュメント ルートにマップされます。言いたい場合は、それを色フォルダーにマップします。次のようにします。

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/test/(.*)$
RewriteCond %{DOCUMENT_ROOT}/colors/%1 -f [OR]
RewriteCond %{DOCUMENT_ROOT}/colors/%1 -d
RewriteRule ^ /colors/%1 [L]
于 2012-09-18T18:04:43.023 に答える