e016d55e0def48c83a748338b8d42063537ad0b3
[stouyapi.git] / www / .htaccess
1 #no iso-2022-cn charset for "com.cis.ouya.oth.htm"
2 #"RemoveCharset" does not work, so we have to override with AddCharset
3 AddCharset UTF-8 .iso2022-cn .cis
4 #Fix game/art.var.pgo.htm
5 AddHandler default-handler .var
6
7 RewriteEngine on
8 RewriteBase /
9
10 <Files "firmware_builds">
11     ExpiresActive On
12     ExpiresDefault "access plus 1 day"
13 </Files>
14
15 #rewrite details GET parameter
16 RewriteCond %{QUERY_STRING} ^app=([^&]+)
17 RewriteCond %{DOCUMENT_ROOT}/api/v1/details-data/%1.json -f
18 RewriteRule ^api/v1/details /api/v1/details-data/%1.json? [END]
19
20 # details for unknown apps. Also see .htaccess in the dummy dir
21 RewriteRule ^api/v1/details /api/v1/details-dummy/404? [END]
22
23 RewriteRule ^api/v1/apps/(.*)/download$ /api/v1/apps/$1-download.json? [END]
24 RewriteRule ^api/v1/apps/(.*)$ /api/v1/apps/$1.json? [END]
25
26 #rewrite developer products "only" GET parameter
27 RewriteCond %{QUERY_STRING} &only=([^&]+)
28 RewriteCond %{DOCUMENT_ROOT}/api/v1/developers/$1/products/%1.json -f
29 RewriteRule ^api/v1/developers/(.+)/products/ /api/v1/developers/$1/products/%1.json? [END]
30
31 RewriteRule ^api/v1/discover/?$ /api/v1/discover-data/discover.json [END]
32 RewriteRule ^api/v1/discover/(.+)$ /api/v1/discover-data/$1.json [END]
33
34 #if directoryslash is on, gamers gets redirected to gamers/ (dir index)
35 # the ouya registration does not support redirects there
36 #TODO: Use that only for the api/v1/gamers path, not for all
37 ErrorDocument 400 /api/v1/gamers/register-error.json
38 RewriteRule ^api/v1/gamers$ /api/v1/gamers/register-error.json [R=400,END]
39
40 #prevent redirect from gamers/me to gamers/me/
41 <Files "me">
42     DirectorySlash Off
43 </Files>
44
45 #Disable the next two lines to have static usernames only
46 RewriteRule ^api/v1/gamers/me$ /api/v1/gamers/me.php [END]
47 RewriteRule ^api/v1/sessions$ /api/v1/sessions.php [END]
48
49 RewriteRule ^api/v1/gamers/me$ /api/v1/gamers/me.json [END]
50
51 #partner builds
52 RewriteCond %{HTTP_USER_AGENT} "razer/pearlyn/pearlyn"
53 RewriteRule ^api/v1/partner_builds /api/v1/partner_builds.razer-forge-tv [END]
54
55 #purchased games/products
56 # active buy requests
57 RewriteCond %{REQUEST_METHOD} POST
58 RewriteRule ^api/v1/games/(.+)/purchases?$ /api/v1/games/purchase.php [END]
59
60 RewriteCond %{REQUEST_FILENAME} !-f
61 RewriteRule ^api/v1/games/(.+)/purchases?$ /api/v1/games/purchases-empty.json [END]
62
63 #search
64 # q is first parameter
65 RewriteCond %{QUERY_STRING} ^q=([^&]+)
66 RewriteCond %{DOCUMENT_ROOT}/api/v1/search-data/%1.json -f
67 RewriteRule ^api/v1/search /api/v1/search-data/%1.json? [END]
68 # q is not the first parameter
69 RewriteCond %{QUERY_STRING} &q=([^&]+)
70 RewriteCond %{DOCUMENT_ROOT}/api/v1/search-data/%1.json -f
71 RewriteRule ^api/v1/search /api/v1/search-data/%1.json? [END]
72
73 # for http://clients3.google.com/generate_204
74 RewriteRule ^generate_204$ /api/v1/status
75
76 #this one wants a 204 status code
77 RewriteRule ^api/v1/status$ - [R=204,L]
78
79 #push-to-my-ouya needs php scripting support
80 RewriteRule ^api/v1/queued_downloads?$ /api/v1/queued_downloads.php [END]
81
82 RewriteCond %{REQUEST_METHOD} DELETE
83 RewriteRule ^api/v1/queued_downloads/(.+)?$ /api/v1/queued_downloads_delete.php?game=$1 [END]