We recently tried to upgrade to Apache 2.4 on our Linux box which was working great with the latest Nginx and Apache 2.2.
However, Apache 2.4 refuses to pass the REQUEST_URI parameter properly
REQUEST_URI is essential for rewrite rules, also known as “Pretty Links” such as “/oddities/nginx-proxying-apache-2-4-pretty-link-request-uri-problem-2879/” instead of “/index.php?p=2879” to work properly. CMS systems such as WordPress depend on it heavily
However, once we upgraded to Apache 2.4, Apache 2.4 did not pass the REQUEST_URI variables to the PHP scripts properly.
On dumping the $_SERVER variables, no where is the real URI found. $_SERVER[‘REQUEST_URL’] states only the actual PHP file (“/index.php”) and not the actual Request URI.
This caused WordPress 3.8 to do a infinite redirect loop as we were using Pretty Links. The /wp-admin section works properly, as no pretty links are in effect at that section
IP addresses are also not being passed properly. We maanged to fix the IP address problem with mod_remoteip. Then we discover that the server-status page does not show the passed IP addresses. This is tolerable
However, the REQUEST_URI major issue causes inaccessible websites. Hence we had to roll back to Apache 2.2.
Do you have any solution?