Add rewrite rules for HTML5 url

This change makes the ProxyPass rewrites Last to stop as soon as they
match. Then any requests that doesn't match a file is served the
index.html.

Depends-On: https://review.openstack.org/591604
Change-Id: I363c2c4d3924074c8ff5c7fd9a410e357ed71b5d
This commit is contained in:
Tristan Cacqueray 2018-09-21 03:10:17 +00:00
parent 63784f1cf5
commit ff1f91895d
1 changed files with 13 additions and 8 deletions

View File

@ -40,19 +40,24 @@
<% end -%>
<% if scope.lookupvar('::zuul::web::tenant_name') != '' -%>
RewriteRule ^/$ /status.html [L]
RewriteRule ^/$ /status [L]
# Backwards compat for old status urls. Should be removed in a few weeks.
RewriteRule ^/status$ <%= scope.lookupvar('::zuul::web::web_url') %>/api/tenant/<%= scope.lookupvar('::zuul::web::tenant_name') %>/status [P]
RewriteRule ^/api/connection/(.*)$ <%= scope.lookupvar('::zuul::web::web_url') %>/api/connection/$1 [P]
RewriteRule ^/api/console-stream <%= scope.lookupvar('::zuul::web::websocket_url') %>/api/tenant/<%= scope.lookupvar('::zuul::web::tenant_name') %>/console-stream [P]
RewriteRule ^/api/(.*)$ <%= scope.lookupvar('::zuul::web::web_url') %>/api/tenant/<%= scope.lookupvar('::zuul::web::tenant_name') %>/$1 [P]
RewriteRule ^/status$ <%= scope.lookupvar('::zuul::web::web_url') %>/api/tenant/<%= scope.lookupvar('::zuul::web::tenant_name') %>/status [P,L]
RewriteRule ^/api/connection/(.*)$ <%= scope.lookupvar('::zuul::web::web_url') %>/api/connection/$1 [P,L]
RewriteRule ^/api/console-stream <%= scope.lookupvar('::zuul::web::websocket_url') %>/api/tenant/<%= scope.lookupvar('::zuul::web::tenant_name') %>/console-stream [P,L]
RewriteRule ^/api/(.*)$ <%= scope.lookupvar('::zuul::web::web_url') %>/api/tenant/<%= scope.lookupvar('::zuul::web::tenant_name') %>/$1 [P,L]
<% else -%>
RewriteRule ^/$ /tenants.html [L]
RewriteRule ^/$ /tenants [L]
RewriteRule ^/t/(.*) /$1 [L]
RewriteRule ^/api/tenant/(.*)/console-stream <%= scope.lookupvar('::zuul::web::websocket_url') %>/api/tenant/$1/console-stream [P]
RewriteRule ^/api/(.*)$ <%= scope.lookupvar('::zuul::web::web_url') %>/api/$1 [P]
RewriteRule ^/api/tenant/(.*)/console-stream <%= scope.lookupvar('::zuul::web::websocket_url') %>/api/tenant/$1/console-stream [P,L]
RewriteRule ^/api/(.*)$ <%= scope.lookupvar('::zuul::web::web_url') %>/api/$1 [P,L]
<% end -%>
# Rewrite HTML5 route to index.html
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
AddOutputFilterByType DEFLATE application/json
<IfModule mod_cache.c>