Google app engine 谷歌AppEngine定制404动态页面

Google app engine 谷歌AppEngine定制404动态页面,google-app-engine,http-status-code-404,administration,Google App Engine,Http Status Code 404,Administration,我想在/dev/path中设置自定义404页面和管理区域,所以我有这个app.yaml: application: appengine_app version: 0-00-1 runtime: python api_version: 1 handlers: - url: /dev/.* script: dispatch.py login: admin - url: /.* script: dispatch.py 下一个代码 app = webapp.WSGIAppli

我想在/dev/path中设置自定义404页面和管理区域,所以我有这个app.yaml:

application: appengine_app
version: 0-00-1
runtime: python
api_version: 1

handlers:    

- url: /dev/.*
  script: dispatch.py
  login: admin

- url: /.*
  script: dispatch.py
下一个代码

app = webapp.WSGIApplication( [ ('/dev/analyze', AnalyzePage)
                              , ('/.*', NotFoundPage) ]
                              , debug=False )
在本地机器上一切正常。但当我尝试在生产服务器上获取/dev/analyze时,它会重定向到/\u ah/login\u required?是否继续=http://appengine_app.appspot.com/dev/analyze它被NotFoundPage捕获。所以我不能在生产中使用管理部分。我可以有动态404页面和网站的管理部分吗


UPD:如果我关闭NotFoundPage并尝试在生产服务器上获取/dev/analyze,它将重定向到/\u ah/login\u required?是否继续=http://appengine_app.appspot.com/dev/analyze和404错误响应

您已将
app.yaml
中的脚本句柄设置为仅限管理员,这意味着运行时将确保您在向代码发送请求之前以管理员身份登录。运行时无法知道页面将导致404,这似乎是您甚至不希望非管理员用户发现的


如果将404发送给未登录的用户很重要,您可以使app.yaml中的处理程序更具体-例如,使其仅匹配
/dev/analyze
-或者您可以将管理员检查转移到代码中。

我为我的应用程序设置了联合登录,但没有设置登录页面处理程序。我认为有些是默认存在的。当我切换到GoogleAccountsAPI并获取/dev/analyze时,它会显示默认的登录页面,一切都是这样planned@whalebot我不太明白。那有什么问题?您不能创建一个登录页面处理程序并将其设置为不需要登录吗?