Так как nginx не поддерживает обработку файлов htacces, то нам нужно будет сделать изменения в конфигурационном файле nginx.
nginx должен поддерживать именованные location и директиву try_files.
Правила htaccess:
- Код: Выделить всё
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
## RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR]
RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$ [NC]
RewriteRule ^(content/|component/) index.php
Эквивалент для nginx:
- Код: Выделить всё
server {
listen 80;
server_name domain.com www.domain.com;
access_log /var/log/nginx/domain.access.log;
location / {
root /home/user/domain.com;
index index.php index.html index.htm;
}
location ^~ /content {
try_files $uri $uri/ @joomla;
index index.php index.html index.htm;
}
location ^~ /component {
try_files $uri $uri/ @joomla;
index index.php index.html index.htm;
}
location ~ \.php$ {
fastcgi_pass localhost:8888;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/user/domain.com$fastcgi_script_name;
include fastcgi_params;
}
location @joomla {
fastcgi_pass localhost:8888;
fastcgi_param SCRIPT_FILENAME /home/user/domain.com/index.php;
include fastcgi_params;
}
}

