location /support { error_page 404 502 = /support/404error.php; autoindex off; if ($uri !~ "(.[a-zA-Z0-9]{1,5}|/)$") { rewrite /(.*)([^/])$ http://$host/support/$1$2/ permanent; } if (!-e $request_filename){ ## Re-directing Begin # Story and Category URLs rewrite ^/support/(all)/([^/]+)/?$ /support/story.php?title=$2 last; rewrite ^/support/(all)/?$ /support/index.php last; # /recent redirection rewrite ^/support/new/recent/?$ /support/new permanent; rewrite ^/support/new/recent/category/([^/]+)/?$ /support/new/category/$1 permanent; rewrite ^/support/new/recent/page/(\d+)/?$ /support/new/page/$1 permanent; rewrite ^/support/new/recent/category/([^/]+)/page/(\d+)/?$ /support/new/category/$1/page/$2 permanent; rewrite ^/support/recent/?$ /support/./ permanent; rewrite ^/support/recent/category/([^/]+)/?$ /support/category/$1 permanent; rewrite ^/support/recent/page/(\d+)/?$ /support/page/$1 permanent; rewrite ^/support/recent/category/([^/]+)/page/(\d+)/?$ /support/category/$1/page/$2 permanent; rewrite ^/support/new/recent/([^/]+)/?$ /support/new/category/$1 permanent; rewrite ^/support/new/recent/([^/]+)/page/(\d+)/?$ /support/new/category/$1/page/$2 permanent; rewrite ^/support/recent/([^/]+)/?$ /support/category/$1 permanent; rewrite ^/support/recent/([^/]+)/page/(\d+)/?$ /support/category/$1/page/$2 permanent; ## RSS rewrite ^/support/new/([^/]+)/rss/?$ /support/rss.php?status=new&category=$1 last; rewrite ^/support/new/rss/?$ /support/rss.php?status=new last; rewrite ^/support/(\d+)/rss/?$ /support/storyrss.php?id=$1 last; rewrite ^/support/([^/]+)/rss/?$ /support/rss.php?category=$1 last; rewrite ^/support/rss/?$ /support/rss.php last; rewrite ^/support/search/([^/]+)/rss/?$ /support/rss.php?search=$1 last; rewrite ^/support/group/([^/]+)/rss/?$ /support/rss.php?status=published&group=$1 last; rewrite ^/support/group/([^/]+)/new/rss/?$ /support/rss.php?status=new&group=$1 last; rewrite ^/support/group/([^/]+)/shared/rss/?$ /support/rss.php?status=shared&group=$1 last; rewrite ^/support/([^/]+)/([^/]+)/rss/?$ /support/storyrss.php?title=$2 last; rewrite ^/support/rss/([a-zA-Z0-9-]+)/?$ /support/rss.php?status=$1 last; rewrite ^/support/rss/category/([^/]+)/?$ /support/rss.php?category=$1 last; rewrite ^/support/rss/category/new/([^/]+)/?$ /support/rss.php?status=new&category=$1 last; rewrite ^/support/rss/category/published/([^/]+)/?$ /support/rss.php?status=published&category=$1 last; rewrite ^/support/rss/category/([^/]+)/new/?$ /support/rss.php?status=new&category=$1 last; rewrite ^/support/rss/category/([^/]+)/published/?$ /support/rss.php?status=published&category=$1 last; rewrite ^/support/rss/category/([^/]+)/group/([^/]+)/?$ /support/rss.php?category=$1&group=$2 last; rewrite ^/support/rss/category/new/([^/]+)/([^/]+)/?$ /support/rss.php?status=new&category=$1&group=$2 last; rewrite ^/support/rss/category/published/([^/]+)/([^/]+)/?$ /support/rss.php?status=published&category=$1&group=$2 last; rewrite ^/support/rss/search/([^/]+)/?$ /support/rss.php?search=$1 last; rewrite ^/support/rssfeeds/?$ /support/rssfeeds.php last; ## URL Method 2 Begin ## rewrite ^/support/?$ /support/index.php last; rewrite ^/support/advanced-search/?$ /support/advancedsearch.php last; rewrite ^/support/category/([^/]+)/?$ /support/index.php?category=$1 last; rewrite ^/support/category/([^/]+)/([^/]+)/?$ story.php?title=$2 last; rewrite ^/support/login/?$ /support/login.php last; rewrite ^/support/login/([a-zA-Z0-9-]+)/?$ /support/login.php?return=$1 last; rewrite ^/support/login/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/?$ /support/login.php?return=$1/$2 last; rewrite ^/support/logout/?$ /support/login.php?op=logout&return=index.php last; rewrite ^/support/logout/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/?$ /support/login.php?op=logout&return=$1/$2 last; rewrite ^/support/out/([\d]+)/?$ /support/out.php?id=$1 last; rewrite ^/support/out/(https?:.+)$ /support/out.php?url=$1 last; rewrite ^/support/out/([^/]+)/?$ /support/out.php?title=$1 last; rewrite ^/support/register/?$ /support/register.php last; rewrite ^/support/search/([^/]+)/page/(\d+)/?$ /support/search.php?search=$1&page=$2 last; rewrite ^/support/search/(.+)/?$ /support/search.php?search=$1 last; rewrite ^/support/searchurl/(.+)/?$ /support/search.php?url=$1 last; rewrite ^/support/settemplate/?$ /support/settemplate.php last; rewrite ^/support/story/([0-9]+)/?$ /support/story.php?id=$1 last; rewrite ^/support/story/([^/]+)/?$ /support/story.php?title=$1 last; rewrite ^/support/story/([0-9]+)/editcomment/([0-9]+)/?$ /support/edit.php?id=$1&commentid=$2 last; rewrite ^/support/story/([0-9]+)/edit/?$ /support/editlink.php?id=$1 last; rewrite ^/support/submit/?$ /support/submit.php last; rewrite ^/support/tag/([^/]+)/([^/]+)/?$ /support/search.php?search=$1&tag=true&from=$2 last; rewrite ^/support/tag/([^/]+)/?$ /support/search.php?search=$1&tag=true last; rewrite ^/support/tag/([^/]+)/page/(.+)/?$ /support/search.php?search=$1&tag=true&page=$2 last; rewrite ^/support/tagcloud/?$ /support/cloud.php last; rewrite ^/support/tagcloud/range/([0-9]+)/?$ /support/cloud.php?range=$1 last; rewrite ^/support/topusers/?$ /support/topusers.php last; rewrite ^/support/trackback/([0-9]+)/?$ /support/trackback.php?id=$1 last; rewrite ^/support/new/?$ /support/new.php last; rewrite ^/support/new/(year|month|week|today|yesterday|recent|alltime|upvoted|downvoted|commented)/?$ /support/new.php?part=$1 last; rewrite ^/support/new/(year|month|week|today|yesterday|recent|alltime|upvoted|downvoted|commented)/category/([^/]+)/?$ /support/new.php?part=$1&category=$2 last; rewrite ^/support/new/([^/]+)/?$ /support/new.php?category=$1 last; rewrite ^/support/new/page/([0-9]+)/?$ /support/new.php?page=$1 last; rewrite ^/support/new/(year|month|week|today|yesterday|recent|alltime|upvoted|downvoted|commented)/page/(\d+)/?$ /support/new.php?part=$1&page=$2 last; rewrite ^/support/new/(year|month|week|today|yesterday|recent|alltime|upvoted|downvoted|commented)/category/([^/]+)/page/(\d+)/?$ /support/new.php?part=$1&category=$2&page=$3 last; rewrite ^/support/user/search/([^/]+)/?$ /support/user.php?view=search&keyword=$1 last; rewrite ^/support/user/([^/]+)/link/([0-9+]+)/?$ /support/user_add_remove_links.php?action=$1&link=$2 last; # Profile rewrite ^/support/user/([^/]+)/profile/?$ /support/user/$1/ permanent; rewrite ^/support/user/([^/]+)/rss/?$ /support/userrss.php?user=$1 last; rewrite ^/support/user/([^/]+)/rss/([a-zA-Z0-9-]+)/?$ /support/userrss.php?user=$1&status=$2 last; rewrite ^/support/user/([^/]+)/edit/?$ /support/profile.php?login=$1 last; rewrite ^/support/user/([^/]+)/([^/]+)/?$ /support/user.php?view=$2&login=$1 last; rewrite ^/support/user/?$ /support/user.php last; rewrite ^/support/user/([^/]+)/?$ /support/user.php?login=$1 last; rewrite ^/support/profile/?$ /support/profile.php last; ## Admin rewrite ^/support/admin/?$ /support/admin/admin_index.php last; rewrite ^/support/admin_comments/page/([^/]+)/?$ /support/admin/admin_comments.php?page=$1 last; rewrite ^/support/admin_links/page/([^/]+)/?$ /support/admin/admin_links.php?page=$1 last; rewrite ^/support/admin_users/page/([^/]+)/?$ /support/admin/admin_users.php?page=$1 last; rewrite ^/support/story/([0-9]+)/modify/([a-z]+)/?$ /support/admin/linkadmin.php?id=$1&action=$2 last; rewrite ^/support/view/([^/]+)/?$ /support/admin/admin_users.php?mode=view&user=$1 last; ## Groups rewrite ^/support/join_group/action/(published|new|discard)/link/(\d+)/?$ /support/join_group.php?action=$1&link=$2 last; rewrite ^/support/groups/?$ /support/groups.php last; rewrite ^/support/groups/search/([^/]+)/?$ /support/groups.php?view=search&keyword=$1 last; rewrite ^/support/groups/submit/?$ /support/submit_groups.php last; rewrite ^/support/groups/(members|name|oldest|newest)/?$ /support/groups.php?sortby=$1 last; rewrite ^/support/groups/([^/]+)/?$ /support/group_story.php?title=$1 last; rewrite ^/support/groups/([^/]+)/page/([0-9]+)/?$ /support/group_story.php?title=$1&page=$2 last; rewrite ^/support/groups/([^/]+)/?$ /support/group_story.php?title=$1&view=published last; rewrite ^/support/groups/([^/]+)/(published|new|shared|members)/?$ /support/group_story.php?title=$1&view=$2 last; rewrite ^/support/groups/([^/]+)/(published|new|shared|members)/page/([0-9]+)/?$ /support/group_story.php?title=$1&view=$2&page=$3 last; rewrite ^/support/groups/([^/]+)/(published|new|shared|members)/category/([^/]+)/?$ /support/group_story.php?title=$1&view=$2&category=$3 last; rewrite ^/support/groups/([^/]+)/(published|new|shared|members)/category/([^/]+)/page/([0-9]+)?$ /support/group_story.php?title=$1&view=$2&category=$3&page=$4 last; rewrite ^/support/groups/delete/([0-9]+)/?$ /support/deletegroup.php?id=$1 last; rewrite ^/support/groups/edit/([0-9]+)/?$ /support/editgroup.php?id=$1 last; rewrite ^/support/groups/id/([0-9]+)/?$ /support/group_story.php?id=$1 last; rewrite ^/support/groups/join/([0-9]+)/? /support/join_group.php?id=$1&join=true last; rewrite ^/support/groups/member/admin/id/([0-9]+)/role/([a-zA-Z0-9_-]+)/userid/([0-9]+)/?$ /support/groupadmin.php?id=$1&role=admin&userid=$3 last; rewrite ^/support/groups/member/normal/id/([0-9]+)/role/([a-zA-Z0-9_-]+)/userid/([0-9]+)/?$ /support/groupadmin.php?id=$1&role=normal&userid=$3 last; rewrite ^/support/groups/member/moderator/([0-9]+)/role/([a-zA-Z0-9_-]+)/userid/([0-9]+)/?$ /support/groupadmin.php?id=$1&role=$2&userid=$3 last; rewrite ^/support/groups/member/flagged/([0-9]+)/role/([a-zA-Z0-9_-]+)/userid/([0-9]+)/?$ /support/groupadmin.php?id=$1&role=flagged&userid=$3 last; rewrite ^/support/groups/member/banned/id/([0-9]+)/role/([a-zA-Z0-9_-]+)/userid/([0-9]+)/?$ /support/groupadmin.php?id=$1&role=banned&userid=$3 last; rewrite ^/support/groups/page/([0-9]+)/?$ /support/groups.php?page=$1 last; rewrite ^/support/groups/unjoin/([0-9]+)/? /support/join_group.php?id=$1&join=false last; rewrite ^/support/groups/withdraw/([0-9]+)/user_id/([0-9]+)/?$ /support/join_group.php?group_id=$1&user_id=$2&activate=withdraw last; ## Live rewrite ^/support/live/?$ /support/live.php last; rewrite ^/support/live/comments/?$ /support/live_comments.php last; rewrite ^/support/live/comments/page/([^/]+)/?$ /support/live_comments.php?page=$1 last; rewrite ^/support/live/published/?$ /support/live_published.php last; rewrite ^/support/live/published/page/([^/]+)/?$ /support/live_published.php?page=$1 last; rewrite ^/support/live/new/?$ /support/live_unpublished.php last; rewrite ^/support/live/new/page/([^/]+)/?$ /support/live_unpublished.php?page=$1 last; ## Modules rewrite ^/support/inbox/?$ /support/module.php?module=simple_messaging&view=inbox last; rewrite ^/support/sitemapindex.xml /support/module.php?module=xml_sitemaps_show_sitemap last; rewrite ^/support/sitemap-([a-zA-Z0-9]+).xml /support/module.php?module=xml_sitemaps_show_sitemap&i=$1 last; rewrite ^/support/status/([0-9]+)/?$ /support/modules/status/status.php?id=$1 last; rewrite ^/support/toolbar/(\d+)/?$ /support/modules/pligg_web_toolbar/toolbar.php?id=$1; rewrite ^/support/sitemapindex.xml /support/module.php?module=xml_sitemaps_show_sitemap last; rewrite ^/support/sitemap-([0-9a-z]+).xml /support/module.php?module=xml_sitemaps_show_sitemap&i=$1 last; ## Pages rewrite ^/support/about/?$ /support/page.php?page=about last; rewrite ^/support/static/([^/]+)/?$ /support/page.php?page=$1 last; ## Pagination rewrite ^/support/category/([^/]+)/page/([^/]+)/?$ /support/index.php?category=$1&page=$2 last; rewrite ^/support/page/([^/]+)/?$ /support/index.php?page=$1 last; rewrite ^/support/page/([^/]+)/([^/]+)category/([^/]+)/?$ /support/index.php?page=$1&part=$2&category=$3 last; rewrite ^/support/new/([^/]+)/page/(\d+)/?$ /support/new.php?category=$1&page=$2 last; rewrite ^/support/published/page/([^/]+)/([^/]+)/?$ /support/index.php?page=$1&category=$2 last; rewrite ^/support/published/page/([^/]+)/([^/]+)/([^/]+)/?$ /support/index.php?page=$1&part=$2&category=$3 last; rewrite ^/support/published/page/([^/]+)/?$ /support/index.php?page=$1 last; rewrite ^/support/published/page/([^/]+)/category/([^/]+)/?$ /support/index.php?page=$1&category=$2 last; rewrite ^/support/published/page/([^/]+)/([^/]+)category/([^/]+)/?$ /support/index.php?page=$1&part=$2&category=$3 last; rewrite ^/support/published/page/([^/]+)/([^/]+)/?$ /support/index.php?page=$1&part=$2 last; rewrite ^/support/published/page/([^/]+)/range/([^/]+)/?$ /support/?page=$1&range=$2 last; rewrite ^/support/search/page/([^/]+)/([^/]+)/?$ /support/search.php?page=$1&search=$2 last; rewrite ^/support/topusers/page/([^/]+)/?$ /support/topusers.php?page=$1 last; rewrite ^/support/topusers/page/([^/]+)/sortby/([^/]+)?$ /support/topusers.php?page=$1&sortby=$2 last; rewrite ^/support/user/page/([^/]+)/([^/]+)/([^/]+)/?$ /support/user.php?page=$1&view=$2&login=$3 last; rewrite ^/support/user/([^/]+)/([^/]+)/page/(\d+)/?$ /support/user.php?page=$3&view=$1&login=$2 last; ## Sort rewrite ^/support/(year|month|week|today|yesterday|recent|alltime|upvoted|downvoted|commented)/?$ /support/index.php?part=$1 last; rewrite ^/support/(year|month|week|today|yesterday|recent|alltime|upvoted|downvoted|commented)/category/([^/]+)/?$ /support/index.php?part=$1&category=$2 last; rewrite ^/support/(year|month|week|today|yesterday|recent|alltime|upvoted|downvoted|commented)/page/(\d+)/?$ /support/index.php?part=$1&page=$2 last; rewrite ^/support/(year|month|week|today|yesterday|recent|alltime|upvoted|downvoted|commented)/category/([^/]+)/page/(\d+)/?$ /support/index.php?part=$1&category=$2&page=$3 last; rewrite ^/support/new/(year|month|week|today|yesterday|recent|alltime|upvoted|downvoted|commented)/([^/]+)/?$ /support/new.php?part=$1&category=$2 last; rewrite ^/support/new/(year|month|week|today|yesterday|recent|alltime|upvoted|downvoted|commented)/([^/]+)/page/(\d+)/?$ /support/new.php?part=$1&category=$2&page=$3 last; rewrite ^/support/(year|month|week|today|yesterday|recent|alltime|upvoted|downvoted|commented)/([^/]+)/?$ /support/index.php?part=$1&category=$2 last; rewrite ^/support/(year|month|week|today|yesterday|recent|alltime|upvoted|downvoted|commented)/([^/]+)/page/(\d+)/?$ /support/index.php?part=$1&category=$2&page=$3 last; ## URL Method 2 End ## } if (!-e $request_filename){ rewrite ^/support/([^/]+)/?$ /support/index.php?category=$1 last; } if (!-e $request_filename){ rewrite ^/support/([^/]+)/page/([^/]+)/?$ /support/index.php?category=$1&page=$2 last; } if (!-e $request_filename){ rewrite ^/support/([^/]+)/([^/]+)/?$ /support/story.php?title=$2&category=$1 last; rewrite ^/support/([^/]+)/([^/]+)/([0-9]+)/?$ /support/story.php?title=$2&category=$1&comment_id=$3 last; rewrite ^/support/([^/]+)/([^/]+)/reply/([0-9]+)/?$ /support/story.php?title=$2&category=$1&comment_id=$3&reply=1 last; } 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; } if ($http_user_agent ~* ^pycurl/){ return 405; } }