Pligg Nginx Rewrite rules

June 3, 2011 by admin · Leave a Comment 

Pligg Nginx Rewrite rules(from edwardawebb):

AddDefaultCharset UTF-8

## 404 Error Page
## If Pligg is installed in a subfolder, change the below line to ErrorDocument 404 /name-of-subfolder/404error.php
ErrorDocument 404 /404error.php

## Re-directing Begin
Options +FollowSymlinks -MultiViews
RewriteEngine on
## If Pligg is installed in a subfolder, change the below line to RewriteBase /name-of-subfolder
RewriteBase /
## If installed in a subfolder you may need to add ## to the beginning of the next line
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index\.php\ HTTP/

## Remove these two lines if you have a sub-domain like  http://subdomain.pligg.com  or http://localhost
## Keep if your site it like   http://www.pligg.com
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule .* http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
##### Re-directing End #####

## You can find the below lines pre-made for you in the category management section of the admin panel ##
RewriteRule ^(all)/([^/]+)/?$ story.php?title=$2 [L]
RewriteRule ^(all)/?$ ?category=$1 [L]
##

## The settings that you should configure are all above this line.
## Continue below only if you are an advanced user.

##### URL Method 2 Begin #####
RewriteRule ^/?$ index.php [L]
RewriteRule ^advanced-search/?$ advancedsearch.php [L]
RewriteRule ^cache/([0-9]+)/?$ index.php [L]
RewriteRule ^cache/admin_c([0-9]+)/?$ index.php [L]
RewriteRule ^cache/templates_c/([0-9]+)/?$ index.php [L]
RewriteRule ^category/([^/]+)/?$ index.php?category=$1 [L]
RewriteRule ^category/([^/]+)/([^/]+)/?$ story.php?title=$2 [L]
RewriteRule ^live/?$ live.php [L]
RewriteRule ^login/?$ login.php [L]
RewriteRule ^login/([a-zA-Z0-9-]+)/?$ login.php?return=$1 [L]
RewriteRule ^login/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/?$ login.php?return=$1/$2 [L]
RewriteRule ^logout/?$ login.php?op=logout&return=index.php [L]
RewriteRule ^logout/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/?$ login.php?op=logout&return=$1/$2 [L]
RewriteRule ^out/([\d]+)/?$ out.php?id=$1 [L]
RewriteRule ^out/(https?:.+)$ out.php?url=$1 [L]
RewriteRule ^out/([^/]+)/?$ out.php?title=$1 [L]
RewriteRule ^profile/?$ profile.php [L]
RewriteRule ^recommend/([a-zA-Z0-9-]+)/?$ recommend.php?id=$1 [L]
RewriteRule ^register/?$ register.php [L]
RewriteRule ^search/([^/]+)/page/(\d+)/?$ search.php?search=$1&page=$2 [L]
RewriteRule ^search/(.+)/?$ search.php?search=$1 [L]
RewriteRule ^searchurl/(.+)/?$ search.php?url=$1 [L]
RewriteRule ^settemplate/?$ settemplate.php [L]
RewriteRule ^story/([0-9]+)/?$ story.php?id=$1 [L]
RewriteRule ^story/([^/]+)/?$ story.php?title=$1 [L]
RewriteRule ^story/([0-9]+)/editcomment/([0-9]+)/?$ edit.php?id=$1&commentid=$2 [L]
RewriteRule ^story/([0-9]+)/edit/?$ editlink.php?id=$1 [L]
RewriteRule ^submit/?$ submit.php [L]
RewriteRule ^tag/(.+)/(.+)/?$ search.php?search=$1&tag=true&from=$2 [QSA,NC,L]
RewriteRule ^tag/(.+)/?$ search.php?search=$1&tag=true [QSA,NC,L]
RewriteRule ^tagcloud/?$ cloud.php [L]
RewriteRule ^tagcloud/range/([0-9]+)/?$ cloud.php?range=$1 [L]
RewriteRule ^topusers/?$ topusers.php [L]
RewriteRule ^trackback/([0-9]+)/?$ trackback.php?id=$1  [L]
RewriteRule ^upcoming/?$ upcoming.php [L]
RewriteRule ^upcoming/category/([^/]+)/?$ upcoming.php?category=$1 [L]
RewriteRule ^upcoming/category/([^/]+)/page/(\d+)/?$ upcoming.php?category=$1&page=$2 [L]
RewriteRule ^upcoming/(year|month|week|today|yesterday|recent|alltime)/?$ upcoming.php?part=$1 [L]
RewriteRule ^upcoming/(year|month|week|today|yesterday|recent|alltime)/category/([^/]+)/?$ upcoming.php?part=$1&category=$2 [L]
RewriteRule ^upcoming/page/([0-9]+)/?$ upcoming.php?page=$1 [L]
RewriteRule ^upcoming/(year|month|week|today|yesterday|recent|alltime)/page/(\d+)/?$ upcoming.php?part=$1&page=$2 [L]
RewriteRule ^upcoming/(year|month|week|today|yesterday|recent|alltime)/category/([^/]+)/page/(\d+)/?$ upcoming.php?part=$1&category=$2&page=$3 [L]
RewriteRule ^user/?$ user.php [L]
RewriteRule ^user/search/([^/]+)/?$ user.php?view=search&keyword=$1 [L]
RewriteRule ^user/([^/]+)/?$ user.php?view=$1 [L]
RewriteRule ^user/([^/]+)/([^/]+)/?$ user.php?view=$1&login=$2 [L]
RewriteRule ^user/([^/]+)/link/([0-9+]+)/?$ user_add_remove_links.php?action=$1&link=$2 [L]

## Admin
RewriteRule ^admin/?$ admin/admin_index.php [L]
RewriteRule ^admin_comments/page/([^/]+)/?$ admin/admin_comments.php?page=$1 [L]
RewriteRule ^admin_links/page/([^/]+)/?$ admin/admin_links.php?page=$1 [L]
RewriteRule ^admin_users/page/([^/]+)/?$ admin/admin_users.php?page=$1 [L]
RewriteRule ^story/([0-9]+)/modify/([a-z]+)/?$ admin/linkadmin.php?id=$1&action=$2 [L]
RewriteRule ^view/([^/]+)/?$ admin/admin_users.php?mode=view&user=$1 [L]

## Groups
RewriteRule ^groups/?$ groups.php [L]
RewriteRule ^groups/submit/?$ submit_groups.php [L]
RewriteRule ^groups/(members|name|oldest|newest)/?$ groups.php?sortby=$1 [L]
RewriteRule ^groups/([^/]+)/?$ group_story.php?title=$1 [L]
RewriteRule ^groups/([^/]+)/page/([0-9]+)?$ group_story.php?title=$1&page=$2 [L]
RewriteRule ^groups/([^/]+)/?$ group_story.php?title=$1&view=published [L]
RewriteRule ^groups/([^/]+)/(published|upcoming|shared|members)/?$ group_story.php?title=$1&view=$2 [L]
RewriteRule ^groups/([^/]+)/(published|upcoming|shared|members)/page/([0-9]+)?$ group_story.php?title=$1&view=$2&page=$3 [L]
RewriteRule ^groups/([^/]+)/(published|upcoming|shared|members)/category/([^/]+)/?$ group_story.php?title=$1&view=$2&category=$3 [L]
RewriteRule ^groups/([^/]+)/(published|upcoming|shared|members)/category/([^/]+)/page/([0-9]+)?$ group_story.php?title=$1&view=$2&category=$3&page=$4 [L]
RewriteRule ^groups/delete/([0-9]+)/?$ deletegroup.php?id=$1 [L]
RewriteRule ^groups/edit/([0-9]+)/?$ editgroup.php?id=$1 [L]
RewriteRule ^groups/id/([0-9]+)/?$ group_story.php?id=$1 [L]
RewriteRule ^groups/join/([0-9]+)/? join_group.php?id=$1&join=true [L]
RewriteRule ^groups/member/admin/id/([0-9]+)/role/([a-zA-Z0-9_-]+)/userid/([0-9]+)/?$ groupadmin.php?id=$1&role=admin&userid=$3 [L]
RewriteRule ^groups/member/normal/id/([0-9]+)/role/([a-zA-Z0-9_-]+)/userid/([0-9]+)/?$ groupadmin.php?id=$1&role=normal&userid=$3 [L]
RewriteRule ^groups/member/moderator/([0-9]+)/role/([a-zA-Z0-9_-]+)/userid/([0-9]+)/?$ groupadmin.php?id=$1&role=$2&userid=$3 [L]
RewriteRule ^groups/member/flagged/([0-9]+)/role/([a-zA-Z0-9_-]+)/userid/([0-9]+)/?$ groupadmin.php?id=$1&role=flagged&userid=$3 [L]
RewriteRule ^groups/member/banned/id/([0-9]+)/role/([a-zA-Z0-9_-]+)/userid/([0-9]+)/?$ groupadmin.php?id=$1&role=banned&userid=$3 [L]
RewriteRule ^groups/page/([0-9]+)/?$ groups.php?page=$1 [L]
RewriteRule ^groups/unjoin/([0-9]+)/? join_group.php?id=$1&join=false [L]
RewriteRule ^groups/withdraw/([0-9]+)/user_id/([0-9]+)/?$ join_group.php?group_id=$1&user_id=$2&activate=withdraw [L]
RewriteRule ^join_group/action/(published|queued|discard)/link/(\d+)/?$ join_group.php?action=$1&link=$2 [L]

## Live
RewriteRule ^comments/?$ live_comments.php [L]
RewriteRule ^comments/page/([^/]+)/?$ live_comments.php?page=$1 [L]
RewriteRule ^live_published/?$ live_published.php [L]
RewriteRule ^published/page/([^/]+)/?$ live_published.php?page=$1 [L]
RewriteRule ^unpublished/?$ live_unpublished.php [L]
RewriteRule ^unpublished/page/([^/]+)/?$ live_unpublished.php?page=$1 [L]

## Modules
RewriteRule ^inbox/?$ module.php?module=simple_messaging&view=inbox [L]
RewriteRule ^sitemapindex.xml module.php?module=xml_sitemaps_show_sitemap [L]
RewriteRule ^sitemap-([a-zA-Z0-9]+).xml module.php?module=xml_sitemaps_show_sitemap&i=$1 [L]
RewriteRule ^status/([0-9]+)/?$ modules/status/status.php?id=$1 [L]
RewriteRule ^toolbar/(\d+)/?$ modules/pligg_web_toolbar/toolbar.php?id=$1
RewriteRule ^sitemapindex.xml module.php?module=xml_sitemaps_show_sitemap [L]
RewriteRule ^sitemap-([0-9a-z]+).xml module.php?module=xml_sitemaps_show_sitemap&i=$1 [L]

## Pages
RewriteRule ^about/?$ page.php?page=about [L]
RewriteRule ^static/([^/]+)/?$ page.php?page=$1 [L]

## Pagination
RewriteRule ^category/([^/]+)/page/([^/]+)/?$ index.php?category=$1&page=$2 [L]
RewriteRule ^page/([^/]+)/?$ index.php?page=$1 [L]
RewriteRule ^page/([^/]+)/([^/]+)category/([^/]+)/?$ index.php?page=$1&part=$2&category=$3 [L]
RewriteRule ^published/page/([^/]+)/?$ index.php?page=$1 [L]
RewriteRule ^published/page/([^/]+)/category/([^/]+)/?$ index.php?page=$1&category=$2 [L]
RewriteRule ^published/page/([^/]+)/([^/]+)category/([^/]+)/?$ index.php?page=$1&part=$2&category=$3 [L]
RewriteRule ^published/page/([^/]+)/([^/]+)/?$ index.php?page=$1&part=$2 [L]
RewriteRule ^published/page/([^/]+)/range/([^/]+)/?$ ?page=$1&range=$2 [L]
RewriteRule ^search/page/([^/]+)/([^/]+)/?$ search.php?page=$1&search=$2 [QSA,NC,L]
RewriteRule ^topusers/page/([^/]+)/?$ topusers.php?page=$1 [L]
RewriteRule ^topusers/page/([^/]+)/sortby/([^/]+)?$ topusers.php?page=$1&sortby=$2 [L]
RewriteRule ^user/page/([^/]+)/([^/]+)/([^/]+)/?$ user.php?page=$1&view=$2&login=$3 [L]
RewriteRule ^user/([^/]+)/([^/]+)/page/(\d+)/?$ user.php?page=$3&view=$1&login=$2 [L]

## Sort
RewriteRule ^(year|month|week|today|yesterday|recent|alltime)/?$ index.php?part=$1 [L]
RewriteRule ^(year|month|week|today|yesterday|recent|alltime)/category/([^/]+)/?$ index.php?part=$1&category=$2 [L]
RewriteRule ^(year|month|week|today|yesterday|recent|alltime)/page/(\d+)/?$ index.php?part=$1&page=$2 [L]
RewriteRule ^(year|month|week|today|yesterday|recent|alltime)/category/([^/]+)/page/(\d+)/?$ index.php?part=$1&category=$2&page=$3 [L]

## RSS
RewriteRule ^([^/]+)/rss/?$ storyrss.php?title=$1 [L]
RewriteRule ^rss/?$ rss.php [L]
RewriteRule ^rss/([a-zA-Z0-9-]+)/?$ rss.php?status=$1 [L]
RewriteRule ^rss/category/([^/]+)/?$ rss.php?category=$1 [L]
RewriteRule ^rss/category/upcoming/([^/]+)/?$ rss.php?status=queued&category=$1 [L]
RewriteRule ^rss/category/published/([^/]+)/?$ rss.php?status=published&category=$1 [L]
RewriteRule ^rss/category/([^/]+)/queued/?$ rss.php?status=queued&category=$1 [L]
RewriteRule ^rss/category/([^/]+)/published/?$ rss.php?status=published&category=$1 [L]
RewriteRule ^rss/category/([^/]+)/group/([^/]+)/?$ rss.php?category=$1&group=$2 [L]
RewriteRule ^rss/category/upcoming/([^/]+)/([^/]+)/?$ rss.php?status=queued&category=$1&group=$2 [L]
RewriteRule ^rss/category/published/([^/]+)/([^/]+)/?$ rss.php?status=published&category=$1&group=$2 [L]
RewriteRule ^rss/search/([^/]+)/?$ rss.php?search=$1 [L]
RewriteRule ^rss/user/([^/]+)/?$ userrss.php?user=$1 [L]
RewriteRule ^rss/user/([^/]+)/([a-zA-Z0-9-]+)/?$ userrss.php?user=$1&status=$2 [L]
RewriteRule ^rssfeeds/?$ rssfeeds.php [L]

RewriteRule ^upcoming/([^/]+)/?$ upcoming.php?category=$1 [L]
RewriteRule ^upcoming/([^/]+)/page/(\d+)/?$ upcoming.php?category=$1&page=$2 [L]
RewriteRule ^upcoming/(year|month|week|today|yesterday|recent|alltime)/([^/]+)/?$ upcoming.php?part=$1&category=$2 [L]
RewriteRule ^upcoming/(year|month|week|today|yesterday|recent|alltime)/([^/]+)/page/(\d+)/?$ upcoming.php?part=$1&category=$2&page=$3 [L]
RewriteRule ^published/page/([^/]+)/([^/]+)/?$ index.php?page=$1&category=$2 [L]
RewriteRule ^published/page/([^/]+)/([^/]+)/([^/]+)/?$ index.php?page=$1&part=$2&category=$3 [L]
RewriteRule ^(year|month|week|today|yesterday|recent|alltime)/([^/]+)/?$ index.php?part=$1&category=$2 [L]
RewriteRule ^(year|month|week|today|yesterday|recent|alltime)/([^/]+)/page/(\d+)/?$ index.php?part=$1&category=$2&page=$3 [L]

## 9.9.5 compatibility
RewriteRule ^user/view/([a-zA-Z0-9-]+)/?$ user.php?view=$1 [L]
RewriteRule ^user/view/([a-zA-Z0-9+]+)/([a-zA-Z0-9+]+)/?$ user.php?view=$1&login=$2 [L]
RewriteRule ^user/view/([a-zA-Z0-9+]+)/login/([a-zA-Z0-9+]+)/?$ user.php?view=$1&login=$2 [L]
RewriteRule ^published/([a-zA-Z0-9-]+)/?$ index.php?part=$1
RewriteRule ^published/([a-zA-Z0-9-]+)/category/([^/]+)/?$ index.php?part=$1&category=$2
RewriteRule ^about/([a-zA-Z0-9-]+)/?$ page.php?page=about [L]
RewriteRule ^upcoming/page/([^/]+)/category/([^/]+)/?$ upcoming.php?page=$1&category=$2 [L]
RewriteRule ^upcoming/page/([^/]+)/upcoming=([^/]+)category/([^/]+)/?$ upcoming.php?page=$1&part=upcoming&order=$2&category=$3 [L]
RewriteRule ^statistics/page/([^/]+)/?$ module.php?module=pagestatistics&page=$1

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ index.php?category=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/page/([^/]+)/?$ index.php?category=$1&page=$2 [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/([^/]+)/?$ story.php?title=$2 [L]
##### URL Method 2 End #####

## Disable directory browsing
Options All -Indexes

## Gzip Begin ##
## To enable Gzip and decrease the load times of your Pligg site
## change /home/path/to to your absolute server path and remove the # from the lines below
# php_value auto_prepend_file /home/path/to/begin_gzip.php
# php_value auto_append_file /home/path/to/end_gzip.php
# AddType "text/javascript" .gz
# AddEncoding gzip .gz
# RewriteCond %{HTTP:Accept-encoding} gzip
# RewriteCond %{THE_REQUEST} ^(.*).js
# RewriteCond %{SCRIPT_FILENAME}.gz -f
# RewriteRule ^(.*)\.js $1.js.gz [L]
## Gzip End ##

## Block out any script trying to set a mosConfig value through the URL
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
## Block out any script trying to base64_encode stuff to send via URL
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
## Block out any script that includes a <script> tag in URL
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
## Block out any script trying to set a PHP GLOBALS variable via URL
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
## Block out any script trying to modify a _REQUEST variable via URL
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})

## Block pycurl bot
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^pycurl/ [NC]
RewriteRule .* - [F]

NEW Pligg rules for Nginx

# convetefd from default pligg rules to nginx

## 404 Error Page
## If Pligg is installed in a subfolder, change the below line to ErrorDocument 404 /name-of-subfolder/404error.php
#ErrorDocument 404 /404error.php
error_page 404 502 = /404error.php;

if (!-e $request_filename){
	## Re-directing Begin
	## You can find the below lines pre-made for you in the category management section of the admin panel ##
	rewrite ^(all)/([^/]+)/?$ story.php?title=$2 last;
	rewrite ^(all)/?$ ?category=$1 last;
	##

	## The settings that you should configure are all above this line.
	## Continue below only if you are an advanced user.

	##### URL Method 2 Begin #####
	rewrite ^/?$ /index.php last;
	rewrite ^/advanced-search/?$ /advancedsearch.php last;
	rewrite ^/cache/([0-9]+)/?$ /index.php last;
	rewrite ^/cache/admin_c([0-9]+)/?$ /index.php last;
	rewrite ^/cache/templates_c/([0-9]+)/?$ /index.php last;
	rewrite ^/category/([^/]+)/?$ /index.php?category=$1 last;
	rewrite ^/category/([^/]+)/([^/]+)/?$ /story.php?title=$2 last;
	rewrite ^/live/?$ /live.php last;
	rewrite ^/login/?$ /login.php last;
	rewrite ^/login/([a-zA-Z0-9-]+)/?$ /login.php?return=$1 last;
	rewrite ^/login/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/?$ /login.php?return=$1/$2 last;
	rewrite ^/logout/?$ /login.php?op=logout&return=index.php last;
	rewrite ^/logout/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/?$ /login.php?op=logout&return=$1/$2 last;
	rewrite ^/out/([\d]+)/?$ /out.php?id=$1 last;
	rewrite ^/out/(https?:.+)$ /out.php?url=$1 last;
	rewrite ^/out/([^/]+)/?$ /out.php?title=$1 last;
	rewrite ^/profile/? /profile.php last;
	rewrite ^/recommend/([a-zA-Z0-9-]+)/?$ /recommend.php?id=$1 last;
	rewrite ^/register/? /register.php last;
	rewrite ^/search/([^/]+)/page/(\d+)/?$ /search.php?search=$1&page=$2 last;
	rewrite ^/search/(.+)/?$ /search.php?search=$1 last;
	rewrite ^/searchurl/(.+)/?$ /search.php?url=$1 last;
	rewrite ^/settemplate/? /settemplate.php last;
	rewrite ^/story/([0-9]+)/?$ /story.php?id=$1 last;
	rewrite ^/story/([^/]+)/?$ /story.php?title=$1 last;
	rewrite ^/story/([0-9]+)/editcomment/([0-9]+)/?$ /edit.php?id=$1&commentid=$2 last;
	rewrite ^/story/([0-9]+)/edit/?$ /editlink.php?id=$1 last;
	rewrite ^/submit/? /submit.php last;
	rewrite ^/tag/(.+)/(.+)/?$ /search.php?search=$1&tag=true&from=$2 last;
	rewrite ^/tag/(.+)/?$ /search.php?search=$1&tag=true last;
	rewrite ^/tagcloud/? /cloud.php last;
	rewrite ^/tagcloud/range/([0-9]+)/?$ /cloud.php?range=$1 last;
	rewrite ^/topusers/? /topusers.php last;
	rewrite ^/trackback/([0-9]+)/?$ /trackback.php?id=$1  last;
	rewrite ^/upcoming/? /upcoming.php last;
	rewrite ^/upcoming/category/([^/]+)/?$ /upcoming.php?category=$1 last;
	rewrite ^/upcoming/category/([^/]+)/page/(\d+)/?$ /upcoming.php?category=$1&page=$2 last;
	rewrite ^/upcoming/(year|month|week|today|yesterday|recent|alltime)/?$ /upcoming.php?part=$1 last;
	rewrite ^/upcoming/(year|month|week|today|yesterday|recent|alltime)/category/([^/]+)/?$ /upcoming.php?part=$1&category=$2 last;
	rewrite ^/upcoming/page/([0-9]+)/?$ /upcoming.php?page=$1 last;
	rewrite ^/upcoming/(year|month|week|today|yesterday|recent|alltime)/page/(\d+)/?$ /upcoming.php?part=$1&page=$2 last;
	rewrite ^/upcoming/(year|month|week|today|yesterday|recent|alltime)/category/([^/]+)/page/(\d+)/?$ /upcoming.php?part=$1&category=$2&page=$3 last;
	rewrite ^/user/? /user.php last;
	rewrite ^/user/search/([^/]+)/?$ /user.php?view=search&keyword=$1 last;
	rewrite ^/user/([^/]+)/?$ /user.php?view=$1 last;
	rewrite ^/user/([^/]+)/([^/]+)/?$ /user.php?view=$1&login=$2 last;
	rewrite ^/user/([^/]+)/link/([0-9+]+)/?$ /user_add_remove_links.php?action=$1&link=$2 last;

	## Admin
	rewrite ^/admin/?$ /admin/admin_index.php last;
	rewrite ^/admin_comments/page/([^/]+)/?$ /admin/admin_comments.php?page=$1 last;
	rewrite ^/admin_links/page/([^/]+)/?$ /admin/admin_links.php?page=$1 last;
	rewrite ^/admin_users/page/([^/]+)/?$ /admin/admin_users.php?page=$1 last;
	rewrite ^/story/([0-9]+)/modify/([a-z]+)/?$ /admin/linkadmin.php?id=$1&action=$2 last;
	rewrite ^/view/([^/]+)/?$ /admin/admin_users.php?mode=view&user=$1 last;

	## Groups
	rewrite ^/groups/?$ /groups.php last;
	rewrite ^/groups/submit/?$ /submit_groups.php last;
	rewrite ^/groups/(members|name|oldest|newest)/?$ /groups.php?sortby=$1 last;
	rewrite ^/groups/([^/]+)/?$ /group_story.php?title=$1 last;
	rewrite ^/groups/([^/]+)/page/([0-9]+)?$ /group_story.php?title=$1&page=$2 last;
	rewrite ^/groups/([^/]+)/?$ /group_story.php?title=$1&view=published last;
	rewrite ^/groups/([^/]+)/(published|upcoming|shared|members)/?$ /group_story.php?title=$1&view=$2 last;
	rewrite ^/groups/([^/]+)/(published|upcoming|shared|members)/page/([0-9]+)?$ /group_story.php?title=$1&view=$2&page=$3 last;
	rewrite ^/groups/([^/]+)/(published|upcoming|shared|members)/category/([^/]+)/?$ /group_story.php?title=$1&view=$2&category=$3 last;
	rewrite ^/groups/([^/]+)/(published|upcoming|shared|members)/category/([^/]+)/page/([0-9]+)?$ /group_story.php?title=$1&view=$2&category=$3&page=$4 last;
	rewrite ^/groups/delete/([0-9]+)/?$ /deletegroup.php?id=$1 last;
	rewrite ^/groups/edit/([0-9]+)/?$ /editgroup.php?id=$1 last;
	rewrite ^/groups/id/([0-9]+)/?$ /group_story.php?id=$1 last;
	rewrite ^/groups/join/([0-9]+)/? /join_group.php?id=$1&join=true last;
	rewrite ^/groups/member/admin/id/([0-9]+)/role/([a-zA-Z0-9_-]+)/userid/([0-9]+)/?$ /groupadmin.php?id=$1&role=admin&userid=$3 last;
	rewrite ^/groups/member/normal/id/([0-9]+)/role/([a-zA-Z0-9_-]+)/userid/([0-9]+)/?$ /groupadmin.php?id=$1&role=normal&userid=$3 last;
	rewrite ^/groups/member/moderator/([0-9]+)/role/([a-zA-Z0-9_-]+)/userid/([0-9]+)/?$ /groupadmin.php?id=$1&role=$2&userid=$3 last;
	rewrite ^/groups/member/flagged/([0-9]+)/role/([a-zA-Z0-9_-]+)/userid/([0-9]+)/?$ /groupadmin.php?id=$1&role=flagged&userid=$3 last;
	rewrite ^/groups/member/banned/id/([0-9]+)/role/([a-zA-Z0-9_-]+)/userid/([0-9]+)/?$ /groupadmin.php?id=$1&role=banned&userid=$3 last;
	rewrite ^/groups/page/([0-9]+)/?$ /groups.php?page=$1 last;
	rewrite ^/groups/unjoin/([0-9]+)/? /join_group.php?id=$1&join=false last;
	rewrite ^/groups/withdraw/([0-9]+)/user_id/([0-9]+)/?$ /join_group.php?group_id=$1&user_id=$2&activate=withdraw last;
	rewrite ^/join_group/action/(published|queued|discard)/link/(\d+)/?$ /join_group.php?action=$1&link=$2 last;

	## Live
	rewrite ^/comments/? /live_comments.php last;
	rewrite ^/comments/page/([^/]+)/?$ /live_comments.php?page=$1 last;
	rewrite ^/live_published/? /live_published.php last;
	rewrite ^/published/page/([^/]+)/?$ /live_published.php?page=$1 last;
	rewrite ^/unpublished/? /live_unpublished.php last;
	rewrite ^/unpublished/page/([^/]+)/?$ /live_unpublished.php?page=$1 last;

	## Modules
	rewrite ^/inbox/?$ /module.php?module=simple_messaging&view=inbox last;
	rewrite ^/sitemapindex.xml module.php?module=xml_sitemaps_show_sitemap last;
	rewrite ^/sitemap-([a-zA-Z0-9]+).xml module.php?module=xml_sitemaps_show_sitemap&i=$1 last;
	rewrite ^/status/([0-9]+)/?$ /modules/status/status.php?id=$1 last;
	rewrite ^/toolbar/(\d+)/?$ modules/pligg_web_toolbar/toolbar.php?id=$1;
	rewrite ^/sitemapindex.xml module.php?module=xml_sitemaps_show_sitemap last;
	rewrite ^/sitemap-([0-9a-z]+).xml module.php?module=xml_sitemaps_show_sitemap&i=$1 last;

	## Pages
	rewrite ^/about/?$ /page.php?page=about last;
	rewrite ^/static/([^/]+)/?$ /page.php?page=$1 last;

	## Pagination
	rewrite ^/category/([^/]+)/page/([^/]+)/?$ /index.php?category=$1&page=$2 last;
	rewrite ^/page/([^/]+)/?$ /index.php?page=$1 last;
	rewrite ^/page/([^/]+)/([^/]+)category/([^/]+)/?$ /index.php?page=$1&part=$2&category=$3 last;
	rewrite ^/published/page/([^/]+)/?$ /index.php?page=$1 last;
	rewrite ^/published/page/([^/]+)/category/([^/]+)/?$ /index.php?page=$1&category=$2 last;
	rewrite ^/published/page/([^/]+)/([^/]+)category/([^/]+)/?$ /index.php?page=$1&part=$2&category=$3 last;
	rewrite ^/published/page/([^/]+)/([^/]+)/?$ /index.php?page=$1&part=$2 last;
	rewrite ^/published/page/([^/]+)/range/([^/]+)/?$ ?page=$1&range=$2 last;
	rewrite ^/search/page/([^/]+)/([^/]+)/?$ /search.php?page=$1&search=$2 last;
	rewrite ^/topusers/page/([^/]+)/?$ /topusers.php?page=$1 last;
	rewrite ^/topusers/page/([^/]+)/sortby/([^/]+)?$ /topusers.php?page=$1&sortby=$2 last;
	rewrite ^/user/page/([^/]+)/([^/]+)/([^/]+)/?$ /user.php?page=$1&view=$2&login=$3 last;
	rewrite ^/user/([^/]+)/([^/]+)/page/(\d+)/?$ /user.php?page=$3&view=$1&login=$2 last;

	## Sort
	rewrite ^/(year|month|week|today|yesterday|recent|alltime)/?$ /index.php?part=$1 last;
	rewrite ^/(year|month|week|today|yesterday|recent|alltime)/category/([^/]+)/?$ /index.php?part=$1&category=$2 last;
	rewrite ^/(year|month|week|today|yesterday|recent|alltime)/page/(\d+)/?$ /index.php?part=$1&page=$2 last;
	rewrite ^/(year|month|week|today|yesterday|recent|alltime)/category/([^/]+)/page/(\d+)/?$ /index.php?part=$1&category=$2&page=$3 last;

	## RSS
	rewrite ^/([^/]+)/rss/?$ /storyrss.php?title=$1 last;
	rewrite ^/rss/? /rss.php last;
	rewrite ^/rss/([a-zA-Z0-9-]+)/?$ /rss.php?status=$1 last;
	rewrite ^/rss/category/([^/]+)/?$ /rss.php?category=$1 last;
	rewrite ^/rss/category/upcoming/([^/]+)/?$ /rss.php?status=queued&category=$1 last;
	rewrite ^/rss/category/published/([^/]+)/?$ /rss.php?status=published&category=$1 last;
	rewrite ^/rss/category/([^/]+)/queued/?$ /rss.php?status=queued&category=$1 last;
	rewrite ^/rss/category/([^/]+)/published/?$ /rss.php?status=published&category=$1 last;
	rewrite ^/rss/category/([^/]+)/group/([^/]+)/?$ /rss.php?category=$1&group=$2 last;
	rewrite ^/rss/category/upcoming/([^/]+)/([^/]+)/?$ /rss.php?status=queued&category=$1&group=$2 last;
	rewrite ^/rss/category/published/([^/]+)/([^/]+)/?$ /rss.php?status=published&category=$1&group=$2 last;
	rewrite ^/rss/search/([^/]+)/?$ /rss.php?search=$1 last;
	rewrite ^/rss/user/([^/]+)/?$ /userrss.php?user=$1 last;
	rewrite ^/rss/user/([^/]+)/([a-zA-Z0-9-]+)/?$ /userrss.php?user=$1&status=$2 last;
	rewrite ^/rssfeeds/? /rssfeeds.php last;

	rewrite ^/upcoming/([^/]+)/?$ /upcoming.php?category=$1 last;
	rewrite ^/upcoming/([^/]+)/page/(\d+)/?$ /upcoming.php?category=$1&page=$2 last;
	rewrite ^/upcoming/(year|month|week|today|yesterday|recent|alltime)/([^/]+)/?$ /upcoming.php?part=$1&category=$2 last;
	rewrite ^/upcoming/(year|month|week|today|yesterday|recent|alltime)/([^/]+)/page/(\d+)/?$ /upcoming.php?part=$1&category=$2&page=$3 last;
	rewrite ^/published/page/([^/]+)/([^/]+)/?$ /index.php?page=$1&category=$2 last;
	rewrite ^/published/page/([^/]+)/([^/]+)/([^/]+)/?$ /index.php?page=$1&part=$2&category=$3 last;
	rewrite ^/(year|month|week|today|yesterday|recent|alltime)/([^/]+)/?$ /index.php?part=$1&category=$2 last;
	rewrite ^/(year|month|week|today|yesterday|recent|alltime)/([^/]+)/page/(\d+)/?$ /index.php?part=$1&category=$2&page=$3 last;

	## 9.9.5 compatibility
	rewrite ^/user/view/([a-zA-Z0-9-]+)/?$ /user.php?view=$1 last;
	rewrite ^/user/view/([a-zA-Z0-9+]+)/([a-zA-Z0-9+]+)/?$ /user.php?view=$1&login=$2 last;
	rewrite ^/user/view/([a-zA-Z0-9+]+)/login/([a-zA-Z0-9+]+)/?$ /user.php?view=$1&login=$2 last;
	rewrite ^/published/([a-zA-Z0-9-]+)/?$ index.php?part=$1;
	rewrite ^/published/([a-zA-Z0-9-]+)/category/([^/]+)/?$ index.php?part=$1&category=$2;
	rewrite ^/about/([a-zA-Z0-9-]+)/?$ /page.php?page=about last;
	rewrite ^/upcoming/page/([^/]+)/category/([^/]+)/?$ /upcoming.php?page=$1&category=$2 last;
	rewrite ^/upcoming/page/([^/]+)/upcoming=([^/]+)category/([^/]+)/?$ /upcoming.php?page=$1&part=upcoming&order=$2&category=$3 last;
	rewrite ^/statistics/page/([^/]+)/?$ module.php?module=pagestatistics&page=$1;

	##### URL Method 2 End #####

}

if (!-e $request_filename){
	rewrite ^/([^/]+)/?$ /index.php?category=$1 last;
}
if (!-e $request_filename){
	rewrite ^/([^/]+)/page/([^/]+)/?$ /index.php?category=$1&page=$2 last;
}
if (!-e $request_filename){
	rewrite ^/([^/]+)/([^/]+)/?$ /story.php?title=$2 last;
}

## Gzip Begin ##
## To enable Gzip and decrease the load times of your Pligg site
## change /home/path/to to your absolute server path and remove the # from the lines below
# php_value auto_prepend_file /home/path/to/begin_gzip.php
# php_value auto_append_file /home/path/to/end_gzip.php
# AddType "text/javascript" .gz
# AddEncoding gzip .gz
# RewriteCond %{HTTP:Accept-encoding} gzip
# RewriteCond %{THE_REQUEST} ^(.*).js
# RewriteCond %{SCRIPT_FILENAME}.gz -f
# rewrite ^(.*)\.js $1.js.gz last;
## Gzip End ##

if ($query_string ~* 'mosConfig_[a-zA-Z_]{1,21}(=|\%3D)' ){
 return 405;
}
if ($query_string ~* base64_encode.*\(.*\) ){
 return 405;
}
if ($query_string ~* (\<|%3C).*script.*(\>|%3E) ){
 return 405;
}
if ($query_string ~* 'GLOBALS(=|\[|\%[0-9A-Z]{0,2})' ){
 return 405;
}
if ($query_string ~* '_REQUEST(=|\[|\%[0-9A-Z]{0,2})' ){
 return 405;
}
## Block out any script trying to set a mosConfig value through the URL
## RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
## Block out any script trying to base64_encode stuff to send via URL
## RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
## Block out any script that includes a <script> tag in URL
## RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
## Block out any script trying to set a PHP GLOBALS variable via URL
## RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
## Block out any script trying to modify a _REQUEST variable via URL
## RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})

## Block pycurl bot by returnhing a forbidden
if ($http_user_agent ~* ^pycurl/){
	return 405;
}

Speak Your Mind

Tell us what you're thinking...
and oh, if you want a pic to show with your comment, go get a gravatar!
Click here to cancel reply.