Google app engine GAE如何处理正则表达式URL处理程序?

Google app engine GAE如何处理正则表达式URL处理程序?,google-app-engine,wsgi,Google App Engine,Wsgi,如果我有类似于: webapp2.WSGIApplication([ (r'/foo/?', FooHandler), (r'/bar/(\d+)', BarPermHandler) ], debug=True) 然后结果是/foo和/foo/都由我的foodhandler类处理,/bar/x其中x是由BarPermHandler处理的一个数字字符串 我首先担心的是,这可能会创建两个完全相同的页面/foo,/foo/,而不是让其中一个页面重定向到另一个页面,而谷歌的搜索结果肯定

如果我有类似于:

webapp2.WSGIApplication([
    (r'/foo/?', FooHandler),
    (r'/bar/(\d+)', BarPermHandler)
], debug=True)
然后结果是
/foo
/foo/
都由我的
foodhandler
类处理,
/bar/x
其中
x
是由
BarPermHandler
处理的一个数字字符串

我首先担心的是,这可能会创建两个完全相同的页面
/foo
/foo/
,而不是让其中一个页面重定向到另一个页面,而谷歌的搜索结果肯定不喜欢这样

然而,在考虑了
/bar/x
路径之后,我开始怀疑自己——我认为假设GAE不会为每个可能的整数创建一个页面,不管最大URL长度是多少,这并不是一个很大的延伸



所以我的问题是,这些是如何处理的?哪一个“存在”?在搜索结果中,用户是否链接到
/foo
/foo/
或两者都有?

我真的不知道你所说的“创建页面”是什么意思。GAE根本不创建任何页面,它们都是动态处理的


正如您所理解的,第一个URL的问题不仅仅是有两个相似的URL,而是两个URL指向完全相同的内容。相比之下,BarPermHandler可能会根据传递的整数显示不同的内容,因此在这种情况下,SEO没有问题。

是的,我意识到这是一个可疑的句子。我想我的意思是,从爬行动物的可视性来看。如果我专门搜索,以保证在结果中找到我的
foo
页面,我会看到指向
/foo
/foo/
的链接吗?如果是这样的话,“正常搜索”可能会对这两个页面的排名都很低?或者大多数爬虫程序是否足够“智能”来适当处理它(理想情况下只显示一个结果)?这更多的是关于如何索引它,而不是其他任何东西。搜索引擎只索引你告诉他们的内容,或者他们可以通过爬虫找到的内容。如果您可以确保所有链接只指向URL的一个版本,那么爬虫程序应该只找到该页面,您应该可以。但是你最好还是只使用一个URL,然后手动进行重定向——比如说在中间件中,这就是Django的做法。很抱歉再次提及这一点——但我突然想到,即使我在内部链接中始终使用/不使用拖尾
/
,我也无法阻止外部站点破坏该方案。这不是个问题吗?