I am trying to port my Mac config on Windows for some of my clients.
Since Windows is not Mac OS, I have to use php-cgi.exe instead of PHP-FPM. I have tested each component individually and everything seems to work, so I believe it is a config-only problem.
On my Mac, I have this RewriteRule
:
RewriteCond %{SERVER_NAME} ^([^.]+)\.([^.]+)\.dev$
RewriteRule ^/(.*\.php(/.*)?)$ "fcgi://127.0.0.1:9000%{DOCUMENT_ROOT}/%2/%1/$1" [P]
I have added the RewriteCond
so that you can see where %1
and %2
are coming from.
On my Mac it works fine since %{DOCUMENT_ROOT}
begins with /
, but on Windows %{DOCUMENT_ROOT}
begins with C:
.
When testing this config, it produces this error:
Proxy Error
The proxy server received an invalid response from an upstream server. The proxy server could not handle the request GET /.
Reason: DNS lookup failure for: 127.0.0.1:9000c:
It appears (by looking in error.log) that 127.0.0.1:9000:C:
is being considered as a part of an IPv6 address, it is transformed as [127.0.0.1:9000:C:]
in the log.
If I try to isolate the two parts with /
:
RewriteCond %{SERVER_NAME} ^([^.]+)\.([^.]+)\.dev$
RewriteRule ^/(.*\.php(/.*)?)$ "fcgi://127.0.0.1:9000/%{DOCUMENT_ROOT}/%2/%1/$1" [P]
^
I get this error:
No input file specified.
Actually, I got this error for everything I have tested so far.
Is there a solution?