server_name wiklou.heureux-cyclage.org wiklou.org; index index.php; client_body_buffer_size 8k; client_max_body_size 10m; location / { # Do this inside of a location so it can be negated rewrite ^/index.php/(.*)$ /wiki/$1 permanent; location ~ \.php$ { try_files $uri $uri/ =404; # Don't let php execute non-existent php files fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/run/php5/fpm/lhc_wiklou; fastcgi_index index.php ; include /etc/nginx/conf.d/fastcgi.conf; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } } location /images { # Separate location for images/ so .php execution won't apply location ~ ^/images/thumb/(archive/)?[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ { # Thumbnail handler for MediaWiki # This location only matches on a thumbnail's url # If the file does not exist we use @thumb to run the thumb.php script try_files $uri $uri/ @thumb; } } location /images/deleted { # Deny access to deleted images folder deny all; } # Deny access to folders MediaWiki has a .htaccess deny in location /cache { deny all; } location /languages { deny all; } location /maintenance { deny all; } location /serialized { deny all; } # Just in case, hide .svn and .git too location ~ /.(svn|git)(/|$) { deny all; } # Hide any .htaccess files location ~ /.ht { deny all; } # Uncomment the following code if you wish to hide the installer/updater ## Deny access to the installer #location /mw-config { deny all; } # Handling for the article path location /wiki { include /etc/nginx/conf.d/fastcgi.conf; # article path should always be passed to index.php fastcgi_param SCRIPT_FILENAME $document_root/index.php; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/run/php5/fpm/lhc_wiklou; fastcgi_index index.php ; } # Thumbnail 404 handler, only called by try_files when a thumbnail does not exist location @thumb { # Do a rewrite here so that thumb.php gets the correct arguments rewrite ^/images/thumb/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ /thumb.php?f=$1&width=$2; rewrite ^/images/thumb/archive/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ /thumb.php?f=$1&width=$2&archived=1; # Run the thumb.php script include /etc/nginx/conf.d/fastcgi.conf; fastcgi_param SCRIPT_FILENAME $document_root/thumb.php; fastcgi_pass unix:/run/php5/fpm/lhc_wiklou; } location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ { try_files $uri /index.php; expires max; log_not_found off; } location = /_.gif { expires max; empty_gif; } location ^~ /cache/ { deny all; } location /dumps { root /var/www/mediawiki/local; autoindex on; }