0

編集:これで、エラー500エラーを解決できました。ファイル名にアラビア文字が含まれているプラ​​イベートファイルに対して、純粋にDrupalの「FileNotFound」が表示されます。file_managedテーブルを確認しましたが、上記のファイルのファイル名をアラビア語のファイルから英語のファイルに変更すると、エラーはなくなりました。Drupalがファイル名にUnicode(アラビア文字)文字を含むプライベートファイルを処理する際に問題が発生する理由を誰かが知っていますか?

ありがとう!

4

1 に答える 1

0

問題はおそらく、Web サーバーのユーザーがファイルを読み取れるように許可を設定せずにファイルを保存していることです。そのファイルの内容を提供していないため、.httaccess を完全に無視する解決策を提案します。

[ところで、root ユーザーの uid は 0 です。ユーザー 1 とは誰で、なぜ彼女が関係するのでしょうか?]

  1. 「誰」が apache を実行しているかを調べる
  2. アクセスできないファイルを「誰」が読み取れるかを確認する

Web サーバーが apache であると仮定すると、このコマンドはどのユーザーが apache を実行しているかを示します。

 $ ps aux|grep apach[e] 
root     19874  1.0  0.6  84008 12736 ?        Ss   00:24   0:00 /usr/sbin/apache2 -D (...)
apache   19876  0.0  0.4  48576  8380 ?        S    00:24   0:00 /usr/sbin/apache2 -D (...)
(...)

ユーザー apache は、私のシステムでバイナリ apache2 を実行しています。誰が apache2 を開始したかを示す最初の行は無視してください。次に、ファイルを apache で読み取り可能にします。

$ chmod 644 /path/to/whereever/you/put/system/files/docFiles/nameoffile.pdf

これで、誰もがファイルを読み取ることができ、所有者はファイルに書き込むことができます。

于 2012-02-21T23:35:45.643 に答える