我遇到了prerender.io的问题。如果我在localhost上使用node / express,它可以正常工作,但当我尝试在google app引擎上使用java(https://github.com/greengerong/prerender-java/)时,它会自动重新路由。
当我将此内容写入浏览器并按回车键时, 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>