1

XML形式でディレクトリリストを出力する単純なPHPスクリプトがあります。これを使用して、フラッシュスライドショーにどのファイルを表示できるかを知らせます。

Djangoを利用したWebサイトにフラッシュを追加したところ、PHPファイルは解析されずにそのまま提供されるようになりました。

それは私のメディアディレクトリの下の画像のあるディレクトリにあります。

私が使用しているサーバーはpleskを実行しているので、vhost.confファイル(私が思うメインのappache confに含まれています)で各ドメインの構成を行います

次のようになります。

WSGIScriptAlias / /var/www/vhosts/<domain>/conf/django.wsgi
Alias /media/ /var/www/vhosts/<domain>/httpdocs/media/

これは、/の下にあるものに対するリクエストがdjangoに渡されて処理されることを意味すると思いました。
/ media / ...の場合を除いて、指定されたディレクトリから通常どおりapacheによって提供されます。

これは画像に対しては機能しますが、PHPファイルを解析しません。

私は何をすべきか?

4

4 に答える 4

3

たぶん、このスレッドを読んで、PHPスクリプトをPythonに移植してください。

os.walk()python:ディレクトリ構造のxml表現、再帰

于 2010-01-29T03:08:54.617 に答える
1

「/media」ディレクトリの下にある .php ファイルが PHP によって何らかの方法で処理される必要があることを Apache が認識できるように Apache を構成していない場合、それらは処理されません。したがって、mod_wsgi の構成は問題ありません。問題は PHP の構成にある可能性があります。

PHPの設定はどうしていますか?mod_php、または fastcgi 経由の PHP を使用していますか? .php ファイルを PHP として扱うように Apache を構成する方法と、その構成がどのディレクトリに適用されているかを教えてください。

于 2010-01-29T04:17:40.293 に答える
1

つまり、問題は 2 つの点にあり、見つけるのが困難であることがわかりました。

Ignacio Vazquez-Abrams に感謝します。セリフが間違っていました。

それが解決されると、PHP は私のファイルを提供しませんallowed path(s)。この vhost の open_basedir 制限を無効にすることで、これを解決しました。私の新作vhost.confは以下です。

<Directory /var/www/vhosts/<domain>/httpdocs>
    php_admin_flag engine on
    php_admin_value open_basedir none
</Directory>

Alias /media/ /var/www/vhosts/<domain>/httpdocs/media/

WSGIScriptAlias / /var/www/vhosts/<domain>/conf/django.wsgi
于 2010-02-13T04:27:40.120 に答える
1

そこのWSGIScriptAliasディレクティブは、Alias. 順番を入れ替えます。

于 2010-01-29T04:24:13.983 に答える