使用文档根目录之外的 Apache 别名时出现错误“主脚本未知”
2022-03-31
7592
我在子域上设置了一个 Apache 别名,它指向文档根目录之外的目录,如下所示:
Alias / /home/keyhelp/www/webmail/plugins/xcalendar/caldav/
<Directory "/home/keyhelp/www/webmail/plugins/xcalendar/caldav">
Require all granted
AllowOverride All
</Directory>
这对于 index.html 文件可以按预期工作,但对于 index.php 则不行,即使目录中有一个 .htaccess 将所有请求引导至 index.php。
在 Apache 错误日志中,我得到:
[Thu Mar 31 08:50:08.574396 2022] [proxy_fcgi:error] [pid 376501:tid 140039026099968] [client XX.XX.XXX.XXX:58410] AH01071: Got error 'Primary script unknown'
系统:Debian 11.3、Apache 2.4.53、PHP 7.4.28
谢谢!
2个回答
所以这最终是一个权限问题。我发现 这个线程 帮助我追踪了这个问题,因为我也在使用 php-fpm。我需要在 keyhelp 目录中为其他人添加可执行位,这是树中唯一没有设置此位的目录,方法是使用:
chmod +x /home/keyhelp
我需要将路径
/home/keyhelp/www
添加到 php 的
open_basedir
配置中。现在一切正常。
Thomas D.
2022-03-31
就我而言,需要从 Apache 配置文件中删除行
SetHandler application/x-httpd-php
。
您可能需要添加
<Directory /var/www/yourdirectory> DirectoryIndex index.php </Directory>
希望这对某些人有帮助。
Hamid Reza
2022-04-21