我想了半天怎么问这个问题。如果标题不够清楚,请见谅。
所以我有一个单页应用程序,其中所有路由都在 JavaScript (AngularJS) 中完成。从服务器我根据需要只返回部分 HTML。现在我想确保 Google 可以使用 _escaped_fragment_ 索引我的应用程序。例如,在我的应用程序中,我有一个 URL:
http://example.com/user/profile/a
这将变成:
http://example.com/?_escaped_fragment_=user/profile/a
当谷歌索引我时。这意味着所有请求都将通过我的 IndexHandler 来决定如何处理它。
在 IndexHandler 中,我想以某种方式获取处理“/user/profile/a”的类,这样我就可以在其上调用特殊方法来返回页面的完整 HTML(不是部分)。
伪代码看起来像这样:
class IndexHandler(webapp2.RequestHandler):
def get(self):
# In my example this would return 'user/profile/a'
fragment = self.request.GET.get('_escaped_fragment_', '')
if fragment:
fragment = '/' + fragment
# This is something I have no idea how to do
clas_Im_looking_for = XXXX(fragment).get_handler()
response = webapp2.Response()
handler = clas_Im_looking_for(request, response)
# Fragment get is my method
response = handler.fragment_get()
谢谢!