우리는 최근 웹 서버 중 하나를 아파치 2.4로 전환하고 php-fpm 및 mod_proxy_fcgi를 통해 PHP를 실행했습니다. 대부분의 모든 것이 잘 작동하지만 아직 이해하지 못하는 한 가지 문제가 있습니다. 우리 사이트 중 하나가 WordPress를 실행 중이며 .htaccess 파일에 좋은 다시 쓰기 규칙 목록을 제공합니다. 그리고 그것들은 vhost 설정에서 ProxyPass 지시문과 잘 작동하지 않는 것 같습니다.
우리의 호스트는 다음과 같은 구성을 포함합니다 :
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.2:9126/<path>/$1
대부분의 경우 작동합니다.
이제 htaccess 파일은 다음을 수행합니다.
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
사이트가 하위 디렉토리의 멀티 블로그이므로 URL /blogname/wp-admin/load-styles.php?xxxx는 wp-admin / load-styles.php? xxx (두 번째 다시 쓰기 규칙)로 다시 작성해야한다는 것을 읽었습니다. 그러나 mod_proxy 로그를 보면 실제로 전달되는 요청은 /blogname/wp-admin/load-styles.php입니다.
우선 순위 문제가 있으므로 이것을 읽었습니다. 모든 RewriteRules가 해결되기 전에 ProxyPass 규칙이 실행됩니다.
나는 스티 미되었습니다-원인이 무엇입니까?
RewriteRule
과 [P]
다른 규칙 아래 플래그?