Невозможно отобразить путь к файлу при использовании mod_rewrite
в контексте для каждого каталога (то есть с использованием .htaccess
).Однако вы должны иметь возможность сопоставлять абсолютный путь, когда размещаете свои правила в контексте для каждого сервера (httpd.conf
, либо в конфигурации основного сервера, либо в конфигурации виртуального сервера).
Причина этогоиз-за того, как mod_rewrite
работает в контексте каталога.mod_rewrite
преобразует URL, а затем назначает себя обработчиком для запроса.Это позволяет ему отправлять внутреннее перенаправление через Apache, что в противном случае было бы невозможно на столь позднем этапе обработки.
Внутреннее перенаправление выполняется посредством вызова API-функции Apache ap_internal_redirect
, которая ожидает URI, которыйзатем переназначается в файловую систему.В качестве примечания следует также, что %{REQUEST_URI}
и %{REQUEST_FILENAME}
изменяются, когда вы выполняете перенаправление, которое включает в себя тот же файл .htaccess
, который читается для последующего запроса (например, в любое время .htaccess
в корне сайта).