我正在尝试创建一些别名::
util.run_wsgi_app(webapp.WSGIApplication([
(r"/(.{1,2})", MainPage)
], debug=debug)
class MainPage(webapp.RequestHandler):
def get(self,token):
token_dict = {
'fb':'http://www.facebook.com/anilashanbhag',
'+' :'http://plus.google.com/106274357148468411814',
't' :'http://twitter.com/masteranil'
}
logging.debug(token)
if token in token_dict:
self.redirect(token_dict[token])
else:
self.redirect('/')
问题是fb和t工作但+不行。我认为appengine正在编码网址,但随后日志显示 / + 404 ....
答案 0 :(得分:3)
+是RFC 1738 - Uniform Resource Locators (URL) specification中概述的保留字符。它是保留的,因为它被用作URL的分隔符语法的一部分。尝试使用URL编码您的角色(%2B)并查看是否有帮助。
答案 1 :(得分:0)
好的,为了完成:正确的答案是:: “%2B”是3个字符;这是应用程序正在接收的,404是因为处理程序不匹配超过2。