Фотогалереи

Услуги

Помощь при использовании сайта

Настраиваем nginx для работы с Joomla!

Если у Вас установлен nginx, то для корректной работы с Joomla! потребуется переписать правила rewrite. Не знаю почему Joomla! иногда редиректит в каталоги типа /index.php/poll... , но из - за реального их отсутствия в файловой системе вебсервера nginx выплевывает 404 Not Found. Что Вобщем то оно и понятно. Для того чтобы таких казусов не случалось допишем это правило в свой nginx.conf, или в файл витуального хоста (vhost), лучше всего в корневой локэйшн  

location / { 
if ( !-e $request_filename ) {
           rewrite (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$ /index.php last;
           break;
}

 

4.384615
13 votes
Ваша оценка: Нет


Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".
Аватар пользователя anonymous

Давно уже используется другая конструкция.
location / {
try_files $uri $uri/ /index.php?$args;
}

Аватар пользователя admin

Дату не смотрю, сразу пишу.

//Это я писал, тогда когда про try_files в nginx еще не знал

Аватар пользователя anonymous

Ребята а можно это более подробно (на пальцах)для совсем нуба, объяснить. А то у меня такая же фигня, а когда я попытался вписать это правило в конфиг nginx он у меня просто не запустился.
вот такой онserver {
listen 80 default_server;
server_name _;

#charset koi8-r;

#access_log logs/host.access.log main;

location / {
root /var/www/htdocs;
index index.php index.html index.htm;
}

error_page 404 /404.html;
location = /404.html {
root /var/www/htdocs;
}
#joomla seo friendly rules
try_files $uri $uri/ /index.php?q=$request_uri;

# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
# root /var/www/htdocs;
root /var/www/htdocs;
}

# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root /var/www/htdocs;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}
и куда его тут писать?

Аватар пользователя admin

Так у вас же есть уже try_files директория. Вот и попробуйте вместо нее