Apache httpd 重寫模式不起作用

Apache httpd 重寫模式不起作用

我正在使用這個 gitlab 配置https://github.com/gitlabhq/gitlab-recipes/blob/master/web-server/apache/gitlab.conf

這是重寫日誌

125.121.60.59 - - [14/Aug/2014:12:50:23 +0800]
 [xxx.xxx.com/sid#7f8e26a023c8][rid#7f8e26ca5be8/initial] 
(4) RewriteCond: input='/home/git/gitlab/public/uploads/foo/bar/7b02f4c192/classes.png' pattern='!-f' => matched

我很確定/home/git/gitlab/public/uploads/foo/bar/7b02f4c192/classes.png存在。

為什麼這個模式匹配?

答案1

RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f

-f需要使用者執行 httpd(在 centos 上)可讀的檔案apache

您可以透過以下方式驗證sudo -u apache stat /path/to/file

相關內容