1

prerender.io に問題があります。localhost で node/express を使用している場合は問題なく動作しますが、Google アプリ エンジンで 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'});

ノード/エクスプレスで問題なく動作するため、アプリエンジンサーバーまたはミドルウェアのインストールに問題があると思います。

アプリ エンジンがハッシュバング (#!) などを処理するように何かを書き直す必要がありますか?

これが私の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