У меня nginx установлен на Ubuntu из репозитория (v0.7.65), и хотя моя конфигурация сайта по умолчанию творит чудеса с красивыми URL-адресами WordPress и плагином совместимости с nginx (пока что), с Joomla этого не происходит. Вот конфигурация:
server {
listen 80 default;
server_name localhost;
access_log /var/log/nginx/localhost.access.log;
root /var/www/nginx-default;
location /wordpress {
try_files $uri $uri/ @wordpress;
}
location /joomla {
try_files $uri $uri/ @joomla;
}
# Configuración para instalaciones de WordPress
location @wordpress {
fastcgi_pass 127.0.0.1:9120;
fastcgi_param SCRIPT_FILENAME $document_root/wordpress/index.php;
include fastcgi_params;
}
# Configuración para instalaciones de Joomla!
location @joomla {
fastcgi_pass 127.0.0.1:9120;
fastcgi_param SCRIPT_FILENAME $document_root/joomla/index.php;
include fastcgi_params;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9120;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Я получил его, чтобы показать мне индекс, администратора и ссылки на один уровень ниже. То есть, если я получаю доступ к / joomla / joomla-overview, он работает нормально (с дружественными URL-адресами и включенным Apache mod_rewrite в Joomla!), Но если я попробую / joomla / joomla-overview / what-is-new-in-1 -5, я получаю ошибка.
Как вы думаете, что здесь происходит? Знаете ли вы, какие другие настройки заставят его работать, желательно в той среде, которая у меня есть сейчас?
Заранее спасибо за вашу поддержку.
PS: Пожалуйста, я не нашел большой помощи по моей проблеме. Я пробовал разные решения, но безрезультатно.
Я не уверен, что это было решено, но эта конфигурация nginx работает для моей установки joomla.
server { server_name example.com; rewrite ^ http://www.example.com$request_uri permanent; } server { server_name www.example.com; root /home/public_html/example.com/public; error_page 404 /404.html; try_files $uri $uri/ /index.php?q=$request_uri; index index.php index.htm index.html; # serve static files directly location ~* ^.+\.(jpg|jpeg|gif|css|png|js|ico|html)$ { access_log off; expires 30d; } location 404.html{ index /404.html; } location ~* \.php$ { # By all means use a different server for the fcgi processes if you need to fastcgi_pass 127.0.0.1:9000; include /etc/nginx/fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; } location ~ /\.ht { deny all; } }