[DOC-CVS] [doc-en] master: apache2.xml Add notes about FallbackResource (#4580)
[email protected] (Andrew Lyons via GitHub) Fri, 3 Jul 2026 14:36:56 +0000
| Newsgroups | php.doc.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: Andrew Lyons (andrewnicols) Committer: GitHub (web-flow) Pusher: jordikroon Date: 2026-07-03T16:36:53+02:00 Commit: https://github.com/php/doc-en/commit/a38e360ae1ce4169b331013958c519d17f19114e Raw diff: https://github.com/php/doc-en/commit/a38e360ae1ce4169b331013958c519d17f19114e.diff apache2.xml Add notes about FallbackResource (#4580) * apache2.xml Add notes about FallbackResource Co-authored-by: Jordi Kroon <[email protected]> Changed paths: M install/unix/apache2.xml Diff: diff --git a/install/unix/apache2.xml b/install/unix/apache2.xml index 45b9357470bc..23024391b65e 100644 --- a/install/unix/apache2.xml +++ b/install/unix/apache2.xml @@ -265,6 +265,34 @@ LoadModule php7_module modules/libphp7.so </programlisting> </informalexample> + <simpara> + To allow use of a PHP file as the default handler if no other handler is found, + for example when using a routing engine, the <literal>FallbackResource</literal> directive may be used. + This is available in Apache 2.4.4 and later. + </simpara> + + <simpara> + Because the <literal>SetHandler</literal> directive is applied whether the file exists or not, and the + <literal>FallbackResource</literal> is only applied if a handler has not already been set, + you may need to use the <literal>If</literal> directive to ensure that the handler is only + applied if the file exists. + This allows the <literal>FallbackResource</literal> to handle paths which end in <literal>.php</literal> + but do not exist, which may be useful for error handling and routing. + </simpara> + + <informalexample> + <programlisting role="apache-conf"> +<![CDATA[ +<FilesMatch "\.php$"> + <If "-f %{REQUEST_FILENAME}"> + SetHandler application/x-httpd-php + </If> +</FilesMatch> +FallbackResource /index.php +]]> + </programlisting> + </informalexample> + <para> <literal>mod_rewrite</literal> may be used to allow any arbitrary <literal>.php</literal> file to be displayed as syntax-highlighted source code, without having to rename or copy it