チェックしました here 、 here 、 here 、 here 、および- こちら この質問をする前に。私の検索スキルは弱いと思います。
WampServer version 2.2e
を使用しています。仮想ホスト内の仮想パスが必要です。私が持っている2人のホストを言ってみましょう。
NameVirtualHost *:80
<VirtualHost *:80>
ServerName localhost
DocumentRoot "C:/Wamp/www"
</VirtualHost>
<VirtualHost *:80>
ServerName apps.ptrl
DocumentRoot "C:/Wamp/vhosts/ptrl/apps"
ErrorLog "logs/apps-ptrl-error.log"
CustomLog "logs/apps-ptrl-access.log" common
<Directory "C:/Wamp/vhosts/ptrl/apps">
allow from all
order allow,deny
AllowOverride All
</Directory>
DirectoryIndex index.html index.htm index.php
</VirtualHost>
<VirtualHost *:80>
ServerName blog.praveen-kumar.ptrl
DocumentRoot "C:/Wamp/vhosts/ptrl/praveen-kumar/blog"
ErrorLog "logs/praveen-kumar-ptrl-error.log"
CustomLog "logs/praveen-kumar-ptrl-access.log" common
<Directory "C:/Wamp/vhosts/ptrl/praveen-kumar/blog">
allow from all
order allow,deny
AllowOverride All
</Directory>
DirectoryIndex index.html index.htm index.php
</VirtualHost>
今の私の要件は、http://apps.ptrl/blog/
とhttp://blog.praveen-kumar.ptrl/
が同じディレクトリであることです。私が考えたことの1つは、blog
フォルダー内のapps
フォルダーを移動することですが、Git
と接続されており、他のものがそこにあるため、移動することはできませんフォルダ。
そこで、alias
にVirtualHost
を次のように作成することを考えました。
<VirtualHost *:80>
ServerName apps.ptrl
DocumentRoot "C:/Wamp/vhosts/ptrl/apps"
ErrorLog "logs/apps-ptrl-error.log"
CustomLog "logs/apps-ptrl-access.log" common
<Directory "C:/Wamp/vhosts/ptrl/apps">
allow from all
order allow,deny
AllowOverride All
</Directory>
DirectoryIndex index.html index.htm index.php
# The alias to the blog!
Alias /blog "C:/Wamp/vhosts/ptrl/praveen-kumar/blog"
<Directory "C:/Wamp/vhosts/ptrl/praveen-kumar/blog">
allow from all
order allow,deny
AllowOverride All
</Directory>
</VirtualHost>
しかし、http://apps.ptrl/blog
にアクセスしようとすると、Error 403 Forbidden
ページが表示されます。
私は正しいことをしていますか?アクセスログとエラーログを確認する必要がある場合は、次の場所にあります。
# Access Log
127.0.0.1 - - [14/Oct/2012:09:53:11 +0530] "GET /blog HTTP/1.1" 403 206
127.0.0.1 - - [14/Oct/2012:09:53:11 +0530] "GET /favicon.ico HTTP/1.1" 404 209
127.0.0.1 - - [14/Oct/2012:09:53:53 +0530] "GET / HTTP/1.1" 200 6935
127.0.0.1 - - [14/Oct/2012:09:53:53 +0530] "GET /app/blog/thumb.png HTTP/1.1" 404 216
# Error Log
[Sun Oct 14 09:53:11 2012] [error] [client 127.0.0.1] client denied by server configuration: C:/Wamp/vhosts/ptrl/praveen-kumar/blog
[Sun Oct 14 09:53:11 2012] [error] [client 127.0.0.1] File does not exist: C:/Wamp/vhosts/ptrl/apps/favicon.ico
[Sun Oct 14 09:53:53 2012] [error] [client 127.0.0.1] File does not exist: C:/Wamp/vhosts/ptrl/apps/app/blog, referer: http://apps.ptrl/
助けを熱心に待っています。必要に応じて、詳細情報を提供する準備ができています。
<VirtualHost *:80>
ServerName apps.ptrl
DocumentRoot "C:/Wamp/vhosts/ptrl/apps"
ErrorLog "logs/apps-ptrl-error.log"
CustomLog "logs/apps-ptrl-access.log" common
# The alias to the blog!
Alias /blog "C:/Wamp/vhosts/ptrl/praveen-kumar/blog"
<Directory "C:/Wamp/vhosts/ptrl/praveen-kumar/blog">
allow from all
order allow,deny
AllowOverride All
</Directory>
<Directory "C:/Wamp/vhosts/ptrl/apps">
allow from all
order allow,deny
AllowOverride All
</Directory>
DirectoryIndex index.html index.htm index.php
</VirtualHost>
サイトにアクセスできます。物理リンクは現在機能しています。すなわち、http://apps.ptrl/blog/index.php
を開くことはできますが、http://apps.ptrl/blog/view-1.ptf
に変換されるhttp://apps.ptrl/blog/index.php?page=view&id=1
は開けません。解決策はありますか?
Alias を DocumentRoot 以外のディレクトリに作成する場合、ターゲットディレクトリへのアクセスを明示的に許可する必要がある場合があります。
<VirtualHost *:80>
ServerName apps.ptrl
DocumentRoot "C:/Wamp/vhosts/ptrl/apps"
ErrorLog "logs/apps-ptrl-error.log"
CustomLog "logs/apps-ptrl-access.log" common
# Puts here, before Directory directive :)
Alias /blog "C:/Wamp/vhosts/ptrl/praveen-kumar/blog"
<Directory "C:/Wamp/vhosts/ptrl/apps">
allow from all
order allow,deny
AllowOverride All
</Directory>
</VirtualHost>
また、URLパス(最初のエイリアス部分)は、大文字と小文字を区別しないファイルシステムでも大文字と小文字を区別することに注意してください。
また、C:/Wamp/vhosts/ptrl/praveen-kumar/blog
ディレクトリ。
参照