Portál AbcLinuxu, 4. května 2024 03:55


Dotaz: apache 2.4 + mod_proxy_fcgi (proxypass) + php-fpm - ignoruje htaccess

16.4.2015 19:25 fahacz
apache 2.4 + mod_proxy_fcgi (proxypass) + php-fpm - ignoruje htaccess
Přečteno: 437×
Odpovědět | Admin

Zdravím,

narazil jsem problem v této kombinaci, php-fpm ma pro kazde web vlastni pool a bezi pod svym uzivatelem, virtualhost:

<IfModule mod_proxy_fcgi.c>
ProxyPassMatch ^/(.*\.php[345]?(/.*)?)$ "fcgi://127.0.0.1:9000/data/www/user1/htdoc/$1"
</IfModule>

Pri otevreni www s konkretnim soubor napr. test.php se test.php zpracuje, ale uplne ignoruje htaccess a vse v nem, apache posle bez vahani cely request do php-fpm, pokud soubor test.php neexistuje tak to hlaskou file not found.

V dokumentaci apache jsem nasel moznost toto ovlitnit pomoci RewriteOptions InheritBefore tak aby se zpracoval i ten htacces a pak teprve poslat php do fpm, takto a uplne vyhodit ProxyPassMatch.

<Directory /data/www/user1/htdoc/>
<IfModule mod_proxy_fcgi.c>
DirectoryIndex /index.php
RewriteEngine On
RewriteBase /
RewriteOptions InheritBefore
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^([^\.]+\.php)$ fcgi://127.0.0.1:9000/data/www/user1/htdoc//$1 [L,P]
</IfModule>

Options +FollowSymLinks
AllowOverride All
Require all granted
</Directory>

Tohle vypadalo slibne, web funguje, php se zpracovana, ale z nejakeho zatim nepochopitelneho duvodu se na webu prestal fungovat login formular (modalni okno otevreni v js zpracovane ajaxem, pri klidnuti na prihlasit se generuje request nekam do podadresare frameworku).

Neresil jste nekdo podobny problem s 2.4 apache a mod_proxy_fcgi + php-fpm.

fahacz

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

21.4.2015 12:56 hanzz | skóre: 19 | blog: hanzz
Rozbalit Rozbalit vše Re: apache 2.4 + mod_proxy_fcgi (proxypass) + php-fpm - ignoruje htaccess
Odpovědět | | Sbalit | Link | Blokovat | Admin

Httpd cte .htaccess az kdyz je to treba, Pomoci ProxyPassMatch mu ale rikas, ze chces pozadavek presmerovat jinemu procesu. Tim padem se .htaccess neotevira.

Melo by to fungovat pokud mist ProxyPassMatch pouzijes SetHandler:

<FilesMatch \.php$>
SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.