ExpressionEngine¶
ExpressionEngine is a flexible content management system.
Configuration¶
server {
listen 80;
server_name www.example.com;
root /var/www/expressionengine;
access_log /var/log/nginx/ee-access.log;
error_log /var/log/nginx/ee-error.log;
location / {
index index.php;
try_files $uri $uri/ @ee;
}
location @ee {
rewrite ^(.*) /index.php?$1 last;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_param HTTP_PROXY "";
fastcgi_pass unix:/var/run/php/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
With PATH_INFO Support¶
For URLs like /index.php/your-path:
location /index.php {
include fastcgi_params;
fastcgi_param HTTP_PROXY "";
set $script $uri;
set $path_info $uri;
if ($args ~* "^(/.+)$") {
set $path_info $1;
}
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $path_info;
}
Prevent Duplicate Content¶
location /index.php {
if ($request_uri ~ "^/index\.php/") {
return 404;
}
# ... rest of config
}