# invoke rewrite engine RewriteEngine On RewriteBase / Options -Indexes Options -MultiViews # Prevent scraping from archive for free demo RewriteCond %{HTTP_USER_AGENT} (ia_archiver) [NC] RewriteRule . - [F,L] # Specific redirections RewriteRule ^index\.html$ / [L,R=301] RewriteCond %{QUERY_STRING} ^redirect_to=\%2fexplore\%2frepos$ RewriteRule ^user/login$ user/login_redirect_to-_explore_repos [L,R=301,QSD] RewriteCond %{QUERY_STRING} ^sort=newest&q=&tab=$ RewriteRule ^explore/repos$ explore/repos_sort-newest-q--tab [L,R=301,QSD] RewriteCond %{QUERY_STRING} ^sort=oldest&q=&tab=$ RewriteRule ^explore/repos$ explore/repos_sort-oldest-q--tab [L,R=301,QSD] RewriteCond %{QUERY_STRING} ^sort=alphabetically&q=&tab=$ RewriteRule ^explore/repos$ explore/repos_sort-alphabetically-q--tab [L,R=301,QSD] RewriteCond %{QUERY_STRING} ^sort=reversealphabetically&q=&tab=$ RewriteRule ^explore/repos$ explore/repos_sort-reversealphabetically-q--tab [L,R=301,QSD] RewriteCond %{QUERY_STRING} ^sort=recentupdate&q=&tab=$ RewriteRule ^explore/repos$ explore/repos_sort-recentupdate-q--tab [L,R=301,QSD] RewriteCond %{QUERY_STRING} ^sort=leastupdate&q=&tab=$ RewriteRule ^explore/repos$ explore/repos_sort-leastupdate-q--tab [L,R=301,QSD] RewriteCond %{QUERY_STRING} ^sort=moststars&q=&tab=$ RewriteRule ^explore/repos$ explore/repos_sort-moststars-q--tab [L,R=301,QSD] RewriteCond %{QUERY_STRING} ^sort=feweststars&q=&tab=$ RewriteRule ^explore/repos$ explore/repos_sort-feweststars-q--tab [L,R=301,QSD] RewriteCond %{QUERY_STRING} ^sort=mostforks&q=&tab=$ RewriteRule ^explore/repos$ explore/repos_sort-mostforks-q--tab [L,R=301,QSD] RewriteCond %{QUERY_STRING} ^sort=fewestforks&q=&tab=$ RewriteRule ^explore/repos$ explore/repos_sort-fewestforks-q--tab [L,R=301,QSD] RewriteCond %{QUERY_STRING} ^page=2&sort=recentupdate&q=&topic=false$ RewriteRule ^explore/repos$ explore/repos_page-2-sort-recentupdate-q--topic-false [L,R=301,QSD] RewriteCond %{QUERY_STRING} ^page=3&sort=recentupdate&q=&topic=false$ RewriteRule ^explore/repos$ explore/repos_page-3-sort-recentupdate-q--topic-false [L,R=301,QSD] RewriteCond %{QUERY_STRING} ^page=4&sort=recentupdate&q=&topic=false$ RewriteRule ^explore/repos$ explore/repos_page-4-sort-recentupdate-q--topic-false [L,R=301,QSD] RewriteCond %{QUERY_STRING} ^page=5&sort=recentupdate&q=&topic=false$ RewriteRule ^explore/repos$ explore/repos_page-5-sort-recentupdate-q--topic-false [L,R=301,QSD] RewriteCond %{QUERY_STRING} ^page=652&sort=recentupdate&q=&topic=false$ RewriteRule ^explore/repos$ explore/repos_page-652-sort-recentupdate-q--topic-false [L,R=301,QSD] RewriteCond %{QUERY_STRING} ^redirect_to=\%2fuser\%2fsign_up$ RewriteRule ^user/login$ user/login_redirect_to-_user_sign_up [L,R=301,QSD] # Create pretty URLs DirectorySlash Off RewriteCond %{THE_REQUEST} /([^.]+)\.html [NC] RewriteRule ^ %1 [NC,L,R=301] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} (.*)/$ RewriteRule ^(.*)/$ $1 [NC,L,R=301] RewriteCond %{REQUEST_FILENAME}.html -f RewriteRule ^ %{REQUEST_URI}.html [NC,L] # End: Create pretty URLs # Redirect all extensions to html RewriteCond %{QUERY_STRING} ^$ RewriteRule ^(.*)\.shtml$ $1.html [L,NC,R=301] RewriteCond %{QUERY_STRING} ^$ RewriteRule ^(.*)\.phtml$ $1.html [L,NC,R=301] RewriteCond %{QUERY_STRING} ^$ RewriteRule ^(.*)\.jhtml$ $1.html [L,NC,R=301] RewriteCond %{QUERY_STRING} ^$ RewriteRule ^(.*)\.htm$ $1.html [L,NC,R=301] RewriteCond %{QUERY_STRING} ^$ RewriteRule ^(.*)\.php$ $1.html [L,NC,R=301] RewriteCond %{QUERY_STRING} ^$ RewriteRule ^(.*)\.aspx$ $1.html [L,NC,R=301] RewriteCond %{QUERY_STRING} ^$ RewriteRule ^(.*)\.asp$ $1.html [L,NC,R=301] RewriteCond %{QUERY_STRING} ^$ RewriteRule ^(.*)\.jsp$ $1.html [L,NC,R=301] RewriteCond %{QUERY_STRING} ^$ RewriteRule ^(.*)\.apk$ $1.html [L,NC,R=301] # End: Redirect all extensions to html