Gallery 3
Gallery3 is een populaire OpenSource foto-album webapplicatie. Het maakt echter gebruik van een aantal redirects om zgn. nice URL’s te kunnen gebruiken en hiervoor wordt een .htaccess
bestand voor Apache meegeleverd. Voor NGINX kan volstaan worden om de volgende regels op te nemen in de configuratie van de server of virtual host:
location /gallery3/ { if (!-e $request_filename) { rewrite ^/gallery3/index.php/(.+)$ /gallery3/index.php?kohana_uri=$1 last; rewrite ^/gallery3/(.+)$ /gallery3/index.php?kohana_uri=$1 last; rewrite ^/gallery3/$ /gallery3/index.php?kohana_uri=/ last; } }
In dit voorbeeld (location /gallery3) wordt er vanuit gegaan dat de gallery software vanaf de webroot in de directory gallery3 is geinstalleerd.
ELGG
ELGG is een populaire OpenSource community building software webapplicatie en maakt intensief gebruik van redirects. Om ELGG te kunnen gebruiken met NGINX als webserver kan onderstaande configuratie worden gebruikt:
location ~ ^/cache/ { rewrite ^/cache\/(.*)$ /engine/handlers/cache_handler.php?request=$1&$args; } location ~* ^/pg/(css|js) { rewrite ^/pg\/([A-Za-z0-9\_\-]+)$ /engine/handlers/page_handler.php?handler=$1&$args; rewrite ^/pg\/([A-Za-z0-9\_\-]+)\/(.*)$ /engine/handlers/page_handler.php?handler=$1&page=$2&$args; } # For all other requests, try the file, or rewrite if it's PHP location / { try_files $uri $uri/ @rewrite; } location @rewrite { rewrite ^/tag\/(.+)\/?$ /engine/handlers/page_handler.php?handler=search&page=$1; rewrite ^/action\/([A-Za-z0-9\_\-\/]+)$ /engine/handlers/action_handler.php?action=$1&$args; rewrite ^/services\/api\/([A-Za-z0-9\_\-]+)\/(.*)$ /engine/handlers/service_handler.php?handler=$1&request=$2&$args; rewrite ^/export\/([A-Za-z]+)\/([0-9]+)\/?$ /engine/handlers/export_handler.php?view=$1&guid=$2; rewrite ^/export\/([A-Za-z]+)\/([0-9]+)\/([A-Za-z]+)\/([A-Za-z0-9\_]+)\/$ /engine/handlers/export_handler.php?view=$1&guid=$2&type=$3&idname=$4; rewrite /xml-rpc.php /engine/handlers/xml-rpc_handler.php; rewrite /mt/mt-xmlrpc.cgi /engine/handlers/xml-rpc_handler.php; rewrite ^/rewrite.php$ /install.php; if (!-d $request_filename){ set $rule_11 1$rule_11; } if (!-f $request_filename){ set $rule_11 2$rule_11; } if ($rule_11 = "21"){ rewrite ^/([A-Za-z0-9\_\-]+)$ /engine/handlers/page_handler.php?handler=$1; } if (!-d $request_filename){ set $rule_12 1$rule_12; } if (!-f $request_filename){ set $rule_12 2$rule_12; } if ($rule_12 = "21"){ rewrite ^/([A-Za-z0-9\_\-]+)\/(.*)$ /engine/handlers/page_handler.php?handler=$1&page=$2; }