我正在尝试使用PhantomJS
和angular-seo
(https://github.com/steeve/angular-seo)来抓取我的应用。
由于我没有使用hashbangs,我在应用程序的标题中添加了以下元标记:
<meta name="fragment" content="!" />
在我的主控制器中,当内容完全加载时,我会触发$scope.htmlReady
:
$scope.$on('$viewContentLoaded', function() {
$scope.htmlReady();
});
我已正确加载seo
模块,当我的服务器应用程序侦听端口4000(我使用快速服务器)时,我使用以下命令在端口4040上启动phantomJS:
phantomjs --disk-cache=no ./bin/angular-seo-server.js 4040 http://127.0.0.1:4000
如果我使用简单的curl 'http://127.0.0.1:4040/?_escaped_fragment_='
检查主页的工作方式,我会正确地呈现正确的HTML。
但是,如果我尝试使用http://127.0.0.1:4040/test?_escaped_fragment_=
之类的其他路线,我只会获得<html><head></head><body></body></html>
而http://127.0.0.1:4000/test
正常工作。
如何确保我的所有网页都已编入索引,而不仅仅是我的主页?