Я пытаюсь перенести свою конфигурацию Mac на Windows для некоторых своих клиентов.
Поскольку Windows - это не Mac OS, мне приходится использовать php-cgi.exe вместо PHP-FPM. Я тестировал каждый компонент индивидуально, и, похоже, все работает, поэтому я считаю, что это проблема только конфигурации.
На моем Mac у меня есть это RewriteRule
:
RewriteCond %{SERVER_NAME} ^([^.]+)\.([^.]+)\.dev$
RewriteRule ^/(.*\.php(/.*)?)$ "fcgi://127.0.0.1:9000%{DOCUMENT_ROOT}/%2/%1/$1" [P]
Я добавил RewriteCond
чтобы вы могли видеть где %1
и %2
исходят из.
На моем Mac он работает нормально, так как %{DOCUMENT_ROOT}
начинается с /
, но в Windows %{DOCUMENT_ROOT}
начинается с C:
.
При тестировании этой конфигурации возникает такая ошибка:
Ошибка прокси
Прокси-сервер получил недопустимый ответ от вышестоящего сервера. Прокси-сервер не может обработать запрос GET /.
Причина: ошибка поиска DNS для: 127.0.0.1:9000c:
Похоже (просматривая error.log), что 127.0.0.1:9000:C:
рассматривается как часть IPv6-адреса, он преобразуется как [127.0.0.1:9000:C:]
в журнале.
Если я попытаюсь изолировать две части с помощью /
:
RewriteCond %{SERVER_NAME} ^([^.]+)\.([^.]+)\.dev$
RewriteRule ^/(.*\.php(/.*)?)$ "fcgi://127.0.0.1:9000/%{DOCUMENT_ROOT}/%2/%1/$1" [P]
^
Я получаю такую ошибку:
Не указан входной файл.
Фактически, я получал эту ошибку для всего, что я тестировал до сих пор.
Есть решение?