Apache 重新启动失败,因为它无法找到存在的文件

Apache 重新启动失败,因为它无法找到存在的文件

我已使用以下代码片段配置了一个 Web 实例配置文件,以允许重定向通过另一个文件进行工作,而无需重新启动服务器。

RewriteMap redirects txt:/mnt/var/www/html/abc/content/abc/na/ac/config_en_us/redirects/redirects.txt
RewriteCond %{REQUEST_URI} ^(.*)$
RewriteCond ${redirects:%1} >""
RewriteRule ^(.*)$ ${redirects:%1} [R=301,NC,L]

当尝试在放置代码片段后重新启动 httpd 时,我无法启动 apache。相同的代码可以在其他服务器上运行。文件也已创建,并且我已验证权限。

下面是错误语句

/etc/httpd/conf.d/abc.conf 第 69 行语法错误:RewriteMap:找不到地图重定向文件:/mnt/var/www/html/abc/content/abc/na/ac/config_en_us/redirects /重定向.txt

我终于能够启动服务器,但修复不正确。这就是我所做的。

我在路径 /etc/httpd/conf.d 中创建了具有相同名称的相同文件,然后将其移动到所需的路径,之后 apache 能够找到该文件并确实出现。谁能帮助我了解发生了什么事。

答案1

为了明确起见,这个答案来自福克斯的评论:

“文件本身需要 Apache 运行用户的读取权限,并且该文件路径上的每个目录都需要读取和执行权限”


例子。在 CentOS 上,我有文件/etc/http/conf/,但路径没有像上面那样设置。我将其移至/var/www/(之前已正确配置),然后它就可以工作了。

相关内容