对于在Drupal中名称中包含阿拉伯字符的私有文件,找不到文件

时间:2012-02-15 12:43:49

标签: .htaccess drupal-7 drupal-permissions

编辑:现在,我已设法解决错误500错误。现在我收到一个纯粹的Drupal“文件未找到”,用于在其文件名中包含阿拉伯字符的私有文件。我检查了file_managed表,如果我将任何提到的文件的文件名从阿拉伯语中的任何内容更改为英语中的任何内容,则错误消失了。有没有人知道为什么Drupal在处理文件名中包含unicode(arabic)字符的私有文件时会遇到问题?

谢谢!

1 个答案:

答案 0 :(得分:0)

问题可能是您在保存文件时没有设置允许Web服务器用户读取它的权限。我将建议一个完全忽略.httaccess的解决方案,因为你没有向我们提供该文件的内容。

[BTW root用户的uid为0.谁是用户1,为什么她会相关?]

  1. 找出“谁”正在运行apache
  2. 确保“谁”可以阅读您无法访问的文件
  3. 假设您的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
    

    现在每个人都可以阅读该文件,所有者可以写信给它。