微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 如何在nginx后面设置Phantomjs

我正在为我的角度应用程序开发搜索引擎优化,而我正在使用PhantomJS来渲染html,当它是一个爬虫时.
出于某种原因,当我做http://aaaaa.com/?_escaped_fragment=/home时,我得到501
但是当我做http://aaaaa.com时,我得到了我的页面

这告诉我,它可能是由Nginx配置文件无法正确路由.

这是我的Nginx配置(至少是片段):

  #mi angular app
        server {

                location / {

                        if ($args ~ _escaped_fragment_) {
                                 proxy_pass http://localhost:8888;
                                 break;
                        }
                        root /var/www/html/miwebapp/client/app;
                }
        } 

这是我用来运行phantomjs的命令:

phantomjs --disk-cache=no angular-SEO-server.js 8888 http://localhost:8000/home

当我运行它时,我得到:

Listening on 8888...
Press Ctrl+C to stop.

所以幽灵开始,但要求失败……有什么想法吗?

解决方法:

这是我的配置:

if ($args ~ _escaped_fragment_) {
    rewrite ^ /snapshot$uri;
}

location ~ ^/snapshot(.*) {
    rewrite ^/snapshot(.*)$$1 break;
    proxy_pass http://localhost:8888;
    proxy_set_header Host $host;
    proxy_connect_timeout 60s;
}

更多信息:https://github.com/liuwenchao/ajax-seo

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐