about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/assets/javascripts/services.js10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/assets/javascripts/services.js b/src/assets/javascripts/services.js
index c3f6a4e2..28fb334a 100644
--- a/src/assets/javascripts/services.js
+++ b/src/assets/javascripts/services.js
@@ -477,12 +477,18 @@ function redirect(url, type, initiator, forceRedirection) {
 			return `${randomInstance}${url.pathname}${url.search}`
 		}
 		case "waybackClassic": {
-			const regex = /^\/\web\/[0-9]+\*\/(.*)/.exec(url.pathname)
+			const regex = /^\/\web\/(?:[0-9]+)?\*\/(.*)/.exec(url.pathname)
 			if (regex) {
 				const link = regex[1]
 				return `${randomInstance}/cgi-bin/history.cgi?utf8=✓&q=${encodeURIComponent(link)}`
 			}
-			return `${randomInstance}`
+			const regex2 = /(^\/\web\/([0-9]+)\/.*)/.exec(url.pathname)
+			if (regex2) {
+				let link = regex2[1]
+				link = link.replace(regex2[2], regex2[2] + 'if_')
+				return `https://web.archive.org${link}`
+			}
+			return
 		}
 		case "gothub": {
 			const regex = /^\/(.*)\/(.*)\/(?:blob|tree)\/(.*)\/(.*)/.exec(url.pathname)