Unified · Split
| @@ -300,8 +300,19 @@ class App < Sinatra::Application · 299 unmodified lines | ||
| 300 | 300 | |
| 301 | 301 | get %r{\A/([\w~\.%]+)(\-[\w\-]+)?(/.*)?\z} do |doc, type, rest| |
| 302 | 302 | doc.sub! '%7E', '~' |
| 303 | − return redirect "/#{DOC_REDIRECTS[doc]}#{type}#{rest}", 301 if DOC_REDIRECTS.key?(doc) | |
| 304 | − return redirect "/angularjs/api#{rest}", 301 if doc == 'angular' && rest && rest.start_with?('/ng') | |
| 303 | + | |
| 304 | + if DOC_REDIRECTS.key?(doc) | |
| 305 | + return redirect "/#{DOC_REDIRECTS[doc]}#{type}#{rest}", 301 | |
| 306 | + end | |
| 307 | + | |
| 308 | + if rest && doc == 'angular' && rest.start_with?('/ng') | |
| 309 | + return redirect "/angularjs/api#{rest}", 301 | |
| 310 | + end | |
| 311 | + | |
| 312 | + if rest && doc == 'dom' && rest.start_with?('/windowtimers') | |
| 313 | + return redirect "/dom#{rest.sub('windowtimers', 'windoworworkerglobalscope')}" | |
| 314 | + end | |
| 315 | + | |
| 305 | 316 | return 404 unless @doc = find_doc(doc) |
| 306 | 317 | |
| 307 | 318 | if rest.nil? |