2

他の場所を読んで、Web ルート フォルダーの上に公開したくないファイルを配置するという概念に出くわしました。ローカルの WAMP スタックでこれを行うと問題なく動作しますが、VPS (Ubuntu 10.04.4 LTS を実行) に転送すると、PHP スクリプトはルート ディレクトリの下のファイルしか見ることができません。

サブドメインの VirtualHost セットアップ:

<VirtualHost *:80>  
# Admin email, Server Name (domain name), and any aliases
ServerAdmin #####@####.com
ServerName admin.########.com
ServerAlias www.admin.########.com

# Index file and Document Root (where the public files are located)
DirectoryIndex index.html index.php admin.php
DocumentRoot /srv/www/#######.com/public_html/admin/web_pages

<Directory /srv/www/#######.com/public_html/admin/web_pages>
    Options +Indexes
    AllowOverride All
</Directory>

# Log file locations
LogLevel warn
ErrorLog /srv/www/########.com/logs/error.log
CustomLog /srv/www/########.com/logs/access.log combined
</VirtualHost>

指定されたログ エラー: ファイルが存在しません: /srv/www/#######.com/public_html/admin/web_pages/css、リファラー: http://www.admin.######## .com/

(私の css フォルダーは web_pages フォルダーの上にあり、次のパスを介して呼び出されます: ../css/####.css)

これは私の構成設定の問題ですか、それともすべきでないことをしようとしていて、必要なものはすべて Web ルートの下にあるのでしょうか? 定数ファイルとアプリケーション ロジックにアクセスできないようにしたいのですが、css、html ページ、および画像は問題ありません。

4

1 に答える 1

2

Web ルートより上にあるいくつかのフォルダーへのパブリック アクセスを許可する場合は、Aliasディレクティブを使用できます。

Alias /css/ "/srv/www/#######.com/public_html/admin/css"
<Directory /srv/www/#######.com/public_html/admin/css>
# some configuration directives here   
</Directory>

その後、css ファイルは新しいパス (なし..)経由でアクセスできるようになります。/css/####.css

mod_aliasApacheモジュールをオンにすることを忘れないでください

于 2013-11-11T22:38:43.463 に答える