IcyVines/Pokemon-Client/master/.htaccess - Htaccess File

IcyVines/Pokemon-Client/master/.htaccess

AddType text/plain .phps
AddType application/x-tgz .tgz
AddType application/x-chrome-extension .crx
AddType application/x-web-app-manifest+json .webapp

<filesMatch "^index.html$">
  FileETag None
  <ifModule mod_headers.c>
     Header unset ETag
     Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
     Header set Pragma "no-cache"
     Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
  </ifModule>
</filesMatch>

<IfModule mod_rewrite.c>
RewriteEngine on

RewriteCond %{HTTP:X-Forwarded-Proto} ^https$
RewriteRule ^(.*) - [E=P_SUFFIX:s]

# basic stuff
RewriteCond %{HTTP_HOST} ^play.pokemonshowdown.com$ [NC]
RewriteRule ^appeals?/?$ http://www.smogon.com/forums/threads/how-to-make-a-discipline-appeal.3538743/ [R=302,L]
RewriteCond %{HTTP_HOST} ^play.pokemonshowdown.com$ [NC]
RewriteRule ^rooms?suggestions?/?$ http://www.smogon.com/forums/threads/room-suggestions-are-no-longer-being-taken.3522130/ [R=302,L]
RewriteCond %{HTTP_HOST} ^play.pokemonshowdown.com$ [NC]
RewriteRule ^suggestions?/?$ http://www.smogon.com/forums/threads/suggestions.3534365/ [R=302,L]
RewriteCond %{HTTP_HOST} ^play.pokemonshowdown.com$ [NC]
RewriteRule ^adminrequests?/?$ http://www.smogon.com/forums/threads/names-rooms-and-servers-contacting-senior-staff.3538721/ [R=302,L]
RewriteCond %{HTTP_HOST} ^play.pokemonshowdown.com$ [NC]
RewriteRule ^bugs?(reports?)?/?$ https://www.smogon.com/forums/threads/bug-reports-v2-0-read-op-before-posting.3469932/ [R=302,L]
RewriteCond %{HTTP_HOST} ^play.pokemonshowdown.com$ [NC]
RewriteRule ^rules?/?$ http://pokemonshowdown.com/rules [R=302,L]

RewriteCond %{HTTP_HOST} ^www.play.pokemonshowdown.com$ [NC]
RewriteRule ^(.*) http%{ENV:P_SUFFIX}://play.pokemonshowdown.com/$1 [R=301,L]

RewriteRule ^style/fonts?/.*?.(eot|svg|ttf|woff|woff2)$ - [E=SAFE_RESOURCE:1]
Header set Access-Control-Allow-Origin * env=SAFE_RESOURCE

# Redirect old battles to their corresponding replay
# RewriteCond %{HTTP_HOST} ^play.pokemonshowdown.com$ [NC]
# RewriteRule ^battle-([a-z0-9]+-[12][0-9]{8})$ http%{ENV:P_SUFFIX}://replay.pokemonshowdown.com/$1 [R=302,L]
RewriteCond %{HTTP_HOST} ^play.pokemonshowdown.com$ [NC]
RewriteRule ^battle-([a-z0-9]+-[0-9]{8})$ http%{ENV:P_SUFFIX}://replay.pokemonshowdown.com/$1 [R=302,L]
RewriteCond %{HTTP_HOST} ^play.pokemonshowdown.com$ [NC]
RewriteRule ^battle-([a-z0-9]+)$ http%{ENV:P_SUFFIX}://replay.pokemonshowdown.com/$1 [R=302,L]

# TODO: fix bug where you can't join lobby directly
RewriteRule ^lobby/?$ / [R=301,L]

# roomid with a slash after it: remove the slash, unless the roomid
# is also an actual directory
RewriteCond %{DOCUMENT_ROOT}/$1 !-d
RewriteRule ^([A-Za-z0-9][A-Za-z0-9-]*)/$ /$1 [R=301,L]

# Anything that looks like a roomid: connect to the server
RewriteRule ^$ - [E=INDEX_PAGE:1]
RewriteRule ^([A-Za-z0-9][A-Za-z0-9-]*)$ ./ [L,E=INDEX_PAGE:1]

# RewriteRule ^crossprotocol.html$ - [E=CROSSPROTOCOL:1]
# Header set X-Frame-Options "ALLOW-FROM http://play.pokemonshowdown.com" env=CROSSPROTOCOL

# Headers for the index page.
Header set Cache-Control "no-cache, no-store, must-revalidate" env=INDEX_PAGE
Header set Pragma "no-cache" env=INDEX_PAGE
Header set Expires "0" env=INDEX_PAGE

# No direct linking to the lobby.
RewriteCond %{ENV:SCRIPT_URL} ^/(lobby/?)?$
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https?://([a-z0-9-]+.)?(pokemonshowdown.com|appjs)
RewriteCond %{HTTP_HOST} ^play.pokemonshowdown.com$
RewriteCond %{REMOTE_ADDR} !=127.0.0.1
RewriteCond %{REMOTE_ADDR} !=162.243.13.96
RewriteCond %{HTTP:CF-Connecting-IP} !=173.252.196.254
RewriteCond %{HTTP:CF-Connecting-IP} !=198.27.67.31
RewriteCond %{HTTP:CF-Connecting-IP} !=162.243.13.96
RewriteRule .* http%{ENV:P_SUFFIX}://pokemonshowdown.com/ [R=303,L]

RewriteRule ^replay/battle-([A-Za-z0-9-]+)$ http%{ENV:P_SUFFIX}://pokemonshowdown.com/replay/$1 [R=302,L]
RewriteRule ^replay/turn_(.+).png$ replay/turn-image.php?data=$1 [L,QSA]

RewriteCond %{QUERY_STRING} !output=html
RewriteRule ^ladder.php$ http%{ENV:P_SUFFIX}://pokemonshowdown.com/ladder/ [R=301,L]

RewriteRule ^~~([^:/]*)(:[0-9]*)?/action.php$ action.php?serverid=$1 [L,QSA]
RewriteRule ^~~([^:/]*)(/.*)?$ http://$1.psim.us$2 [R=301,L]
RewriteRule ^~~([^:/]*):([0-9]*)(/.*)?$ http://$1-$2.psim.us$3 [R=301,L]

RewriteRule ^backup/ - [F]
RewriteRule ^.git/ - [F]
RewriteRule ^data/Pokemon-Showdown/ - [F]
RewriteRule ^lib/ - [F]
RewriteRule ^githooks/ - [F]

RewriteRule ^.gitignore$ - [F]
RewriteRule ^README.md$ - [F]
RewriteRule ^index.template.html$ - [F]
RewriteRule ^testclient.html$ - [F]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(apple-touch-icon-precomposed.png)$ - [R=404,L]

</IfModule>

On Github License

Files

Download PDF of Htaccess file
DOCUMENT_ROOT, ENV, HTTP_HOST, HTTP_REFERER, no-cache, P_SUFFIX, Pragma, PROTOCOL, QUERY_STRING, REMOTE_ADDR, REQUEST_FILENAME, SCRIPT_URL, X-Forwarded-Proto

Comments

Apache