当日志显示已将请求重写为php文件时,Apache仍加载测试页

时间:2018-12-03 10:00:05

标签: php apache .htaccess mod-rewrite

我已经配置了一个Apache虚拟主机,将localhost指向/ var / www / html / mysite / public,其中包含一个htaccess文件,该文件将所有对handle.php的请求重写到同一目录中,我知道htaccess文件可以工作是因为语法错误导致出现内部服务器错误

但是当我进入localhost /时,我得到了apache测试页,我启用LogLevel alert rewrite:trace3来查看发生了什么,日志显示它正在尝试重写handle.php的请求,但是...没有?这是怎么回事

handle.php仅包含die('test');,所以我想知道它是否实际使用了该文件

[Mon Dec 03 09:23:09.248162 2018] [rewrite:trace3] [pid 183] mod_rewrite.c(482): [client snip:35984] snip - - [localhost/sid#55879ca14140][rid#55879ca71a60/initial] [perdir /var/www/html/mysite/public/] strip per-dir prefix: /var/www/html/mysite/public/ ->
[Mon Dec 03 09:23:09.248270 2018] [rewrite:trace3] [pid 183] mod_rewrite.c(482): [client snip:35984] snip - - [localhost/sid#55879ca14140][rid#55879ca71a60/initial] [perdir /var/www/html/mysite/public/] applying pattern '^(.*)/$' to uri ''
[Mon Dec 03 09:23:09.248298 2018] [rewrite:trace3] [pid 183] mod_rewrite.c(482): [client snip:35984] snip - - [localhost/sid#55879ca14140][rid#55879ca71a60/initial] [perdir /var/www/html/mysite/public/] strip per-dir prefix: /var/www/html/mysite/public/ ->
[Mon Dec 03 09:23:09.248312 2018] [rewrite:trace3] [pid 183] mod_rewrite.c(482): [client snip:35984] snip - - [localhost/sid#55879ca14140][rid#55879ca71a60/initial] [perdir /var/www/html/mysite/public/] applying pattern '^' to uri ''
[Mon Dec 03 09:23:09.248362 2018] [rewrite:trace1] [pid 183] mod_rewrite.c(482): [client snip:35984] snip - - [localhost/sid#55879ca14140][rid#55879ca71a60/initial] [perdir /var/www/html/mysite/public/] pass through /var/www/html/mysite/public/
[Mon Dec 03 09:23:09.248816 2018] [rewrite:trace3] [pid 183] mod_rewrite.c(482): [client snip:35984] snip - - [localhost/sid#55879ca14140][rid#55879ca77a90/subreq] [perdir /var/www/html/mysite/public/] strip per-dir prefix: /var/www/html/mysite/public/index.php -> index.php
[Mon Dec 03 09:23:09.248840 2018] [rewrite:trace3] [pid 183] mod_rewrite.c(482): [client snip:35984] snip - - [localhost/sid#55879ca14140][rid#55879ca77a90/subreq] [perdir /var/www/html/mysite/public/] applying pattern '^' to uri 'index.php'
[Mon Dec 03 09:23:09.248907 2018] [rewrite:trace2] [pid 183] mod_rewrite.c(482): [client snip:35984] snip - - [localhost/sid#55879ca14140][rid#55879ca77a90/subreq] [perdir /var/www/html/mysite/public/] rewrite 'index.php' -> 'handle.php'
[Mon Dec 03 09:23:09.248922 2018] [rewrite:trace3] [pid 183] mod_rewrite.c(482): [client snip:35984] snip - - [localhost/sid#55879ca14140][rid#55879ca77a90/subreq] [perdir /var/www/html/mysite/public/] add per-dir prefix: handle.php -> /var/www/html/mysite/public/handle.php
[Mon Dec 03 09:23:09.248936 2018] [rewrite:trace2] [pid 183] mod_rewrite.c(482): [client snip:35984] snip - - [localhost/sid#55879ca14140][rid#55879ca77a90/subreq] [perdir /var/www/html/mysite/public/] trying to replace prefix /var/www/html/mysite/public/ with /
[Mon Dec 03 09:23:09.248949 2018] [rewrite:trace1] [pid 183] mod_rewrite.c(482): [client snip:35984] snip - - [localhost/sid#55879ca14140][rid#55879ca77a90/subreq] [perdir /var/www/html/mysite/public/] internal redirect with /handle.php [INTERNAL REDIRECT]

1 个答案:

答案 0 :(得分:0)

这是因为我的apache在docker容器中,而docker阻止了apache读取不存在的dirs,因此strace在调试时非常有用。参见https://github.com/moby/moby/issues/1295