diff -Naur MoinMoin/wsgiapp.py MoinMoin-patched/wsgiapp.py
--- MoinMoin/wsgiapp.py	2010-06-26 15:46:46.000000000 -0600
+++ MoinMoin-patched/wsgiapp.py	2012-03-03 22:45:39.000000000 -0700
@@ -182,6 +182,12 @@
     # Try action
     else:
         from MoinMoin import action
+
+        p, f = action.AttachFile.absoluteName(context.page.page_name, context.page.page_name)
+        if action.AttachFile.exists(context, p, f, create=0):
+            url = action.AttachFile.getAttachUrl(p, f, context)
+            return context.http_redirect(url)
+
         handler = action.getHandler(context, action_name)
         if handler is None:
             msg = _("You are not allowed to do %(action_name)s on this page.") % {
diff -Naur MoinMoin/action/AttachFile.py MoinMoin-patched/action/AttachFile.py
--- MoinMoin/action/AttachFile.py	2010-06-26 15:46:46.000000000 -0600
+++ MoinMoin-patched/action/AttachFile.py	2012-03-03 22:45:39.000000000 -0700
@@ -152,7 +152,7 @@
     return attach_link
 
 
-def getFilename(request, pagename, filename):
+def getFilename(request, pagename, filename, create=1):
     """ make complete pathfilename of file "name" attached to some page "pagename"
         @param request: request object
         @param pagename: name of page where the file is attached to (unicode)
@@ -162,12 +162,12 @@
     """
     if isinstance(filename, unicode):
         filename = filename.encode(config.charset)
-    return os.path.join(getAttachDir(request, pagename, create=1), filename)
+    return os.path.join(getAttachDir(request, pagename, create), filename)
 
 
-def exists(request, pagename, filename):
+def exists(request, pagename, filename, create=1):
     """ check if page <pagename> has a file <filename> attached """
-    fpath = getFilename(request, pagename, filename)
+    fpath = getFilename(request, pagename, filename, create)
     return os.path.exists(fpath)
 
 
