1

我遇到了 prerender.io 的问题。如果我在本地主机上使用 node/express,它工作得很好,但是当我试图让它在谷歌应用程序引擎上使用 java ( https://github.com/greengerong/prerender-java/ ) 时,它会自动重新路由.

当我将其写入浏览器并按 Enter 键时, http://www.example.com/? _escaped_fragment_=/browse/761238167868/

它会自动重定向到 http://www.example.com/?_escaped_fragment_=/browse/761238167868#!/browse

在 app.js 我有以下内容:

  module.config(['$routeProvider','$locationProvider', function($routeProvider, $locationProvider) {
    $routeProvider.when('/browse', {
      templateUrl: 'views/browse.html'
         //a lot of .when() ....
    }).otherwise({redirectTo: '/browse'});

我认为这是应用引擎服务器或中间件安装的问题,因为它与 node/express 配合得很好。

我需要重写一些东西来让应用引擎处理 hashbangs (#!) 还是什么?

这是我的 web.xml:

 <filter>
      <filter-name>prerender</filter-name>
      <filter-class>com.github.greengerong.PreRenderSEOFilter</filter-class>
      <init-param>
          <param-name>crawlerUserAgents</param-name>
          <param-value>FacebookExternalHit</param-value>
      </init-param>
      <init-param>
          <param-name>crawlerUserAgents</param-name>
          <param-value>facebookexternalhit</param-value>
      </init-param>
      <init-param>
          <param-name>crawlerUserAgents</param-name>
          <param-value>facebookexternalhit/1.0</param-value>
      </init-param>
      <init-param>
          <param-name>crawlerUserAgents</param-name>
          <param-value>facebookexternalhit/1.1</param-value>
      </init-param>
      <init-param>
          <param-name>crawlerUserAgents</param-name>
          <param-value>Facebot</param-value>
      </init-param>
      <init-param>
          <param-name>prerenderToken</param-name>
          <param-value>mytoken</param-value>
      </init-param>
  </filter>

  <filter-mapping>
      <filter-name>prerender</filter-name>
      <url-pattern>/*</url-pattern>
  </filter-mapping>
4

0 回答 0