Здравствуйте!
Вчера настраивал работу Joomla через nginx и fastcgi. Т.к. готового
рецепта гугл мне не нашел, решил написать сюда, что бы кому-нибудь
пригодилось. Собственно, все работает как обычно, за исключением одного
момента. Для работы Joomla использовалось следующее правило для
mod_rewrite на Apache:
RewriteCond %{REQUEST_FILENAME} !\.(jpg|jpeg|gif|png|css|js|pl|txt)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) index.php
Вот с этим у меня возникли затруднения. В конце концов, на основе
рецептов для lighttpd, я пришел к следующей конфигурации:
location / {
root /portal;
fastcgi_pass unix:/var/run/spawn-fcgi/spawn-fcgi.sock;
fastcgi_index index.php;
set $_fastcgi_script_name $fastcgi_script_name;
if (!-f $request_filename) {
set $_fastcgi_script_name "/index.php";
}
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /portal$_fastcgi_script_name;
}
location ~* .+\.(css|gif|html?|ico|jpe?g|js|png|swf)$ {
root /portal;
expires 1h;
}
Меня в этой конструкции смущает, что если не указано другое, то запрос
проксируется php. А ведь может оказаться файл с суффиксом, который я не
описал. И как к такому запросу отнесется php? А сделать наоборот, что
бы все, кроме php, отдавать статикой, не получается, т.к. в этой Joomla
есть ссылки, которые не существуют в файловой системе, а обрабатываются
тем самым index.php. И мне неизвестны все такие ссылки.
У кого-нибудь есть комментарии?
--
DSS5-RIPE DSS-RIPN 2:550/5068@fidonet 2:550/5069@fidonet
xmpp:dsh@xxxxxxxx mailto:dsh@xxxxxxxxhttp://wizard.volgograd.ru/