25

この質問をする前にここここここここ、ここをチェックしました。私の検索スキルは弱いと思います。

WampServerバージョンを使用してい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/なければなりません。一つ考えたのは、blogフォルダ内でappsフォルダを移動することでしたが、つながっていGitて他のものが入っているので、フォルダを移動することはできません。

だから、私はこの方法でaliastoを作成することを考えました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/blogError 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/

熱心に助けを待っています。必要に応じて、さらに情報を提供する準備ができています。


更新 #1 : felipsmartinsの指示に従って、VirtualHosts 宣言を変更しました。

<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>

更新 #2: 別の問題:

サイトにアクセスできました。物理リンクは現在機能しています。つまり、開くことはできますが、開くことはできhttp://apps.ptrl/blog/index.phpませんhttp://apps.ptrl/blog/view-1.ptf。これは、に変換されhttp://apps.ptrl/blog/index.php?page=view&id=1ます。解決策はありますか?

4

1 に答える 1

33

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また、ディレクトリから権限を確認してください。

参照

于 2012-10-14T04:55:37.533 に答える