diff --git a/warehouse/forklift/__init__.py b/warehouse/forklift/__init__.py
index <HASH>..<HASH> 100644
--- a/warehouse/forklift/__init__.py
+++ b/warehouse/forklift/__init__.py
@@ -53,3 +53,13 @@ def includeme(config):
             "upload.html",
             route_kw={"domain": forklift},
         )
+
+        # Any call to /legacy/ not handled by another route (e.g. no :action
+        # URL parameter, or an invalid :action URL parameter) falls through to
+        # this catch-all route.
+        config.add_template_view(
+            "forklift.legacy.invalid_request",
+            "/legacy/",
+            "upload.html",
+            route_kw={"domain": forklift},
+        )
Show “API Endpoint” error page for invalid requests to upload.pypi.org/legacy/ (#<I>)