我可以吗;“预生成”;“我的”的所有可能的静态html页面;“动态”;网站?
例如,有些网站似乎只提供我可以吗;“预生成”;“我的”的所有可能的静态html页面;“动态”;网站?,html,ruby-on-rails,search-engine,generator,static-html,Html,Ruby On Rails,Search Engine,Generator,Static Html,例如,有些网站似乎只提供静态html,尽管它们的内容是动态的 例如,如果我浏览某个类别,我会得到一个指向静态html页面的链接: 现在,如果我应用一个自定义过滤器,我会再次得到一个指向某个似乎是静态html的链接: 这是如何实现的?是否有任何框架可以帮助“预生成”所有可能的动态页面,以便在提供新输入时,页面已经存在(即,静态html已经可用) 背景:我们运行一个小型搜索引擎,搜索房地产报价。优惠由我们的刮板每天更新一次(内容每天都是静态的)。内容可以在RubyonRails网站上搜索。 随着
静态html
,尽管它们的内容是动态的
例如,如果我浏览某个类别,我会得到一个指向静态html
页面的链接:
现在,如果我应用一个自定义过滤器,我会再次得到一个指向某个似乎是静态html
的链接:
这是如何实现的?是否有任何框架可以帮助“预生成”所有可能的动态页面,以便在提供新输入时,页面已经存在(即,静态html
已经可用)
背景:我们运行一个小型搜索引擎,搜索房地产报价。优惠由我们的刮板每天更新一次(内容每天都是静态的)。内容可以在RubyonRails网站上搜索。
随着流量的增加,性能成为一个问题。我想知道是否有任何框架/工具可以批量生成我们所有的搜索,这样我们就可以提供
静态html
他们的网站不是动态的。他们使用URL重写(例如,mod_rewrite
)将输入URL转换为脚本可以满足的请求
例如:
/cat/5666/electric-guitars.html
可能被改写为:
/cat.php?id=5666
测试这一点的一个快速技巧是转到/cat/5666/foo.html
在这种情况下,使用.html
很可能是为了隐藏他们的站点上使用了什么样的脚本,这是一种通过模糊性度量的弱安全性
针对您的问题,没有(简单的)方法将所有可能的结果生成为静态HTML文件。你看到的可能是数十亿的排列。如果您遇到性能问题,请查看性能分析、缓存、查询优化等。他们的站点不是动态的。他们使用URL重写(例如,
mod_rewrite
)将输入URL转换为脚本可以满足的请求
例如:
/cat/5666/electric-guitars.html
可能被改写为:
/cat.php?id=5666
测试这一点的一个快速技巧是转到/cat/5666/foo.html
在这种情况下,使用.html
很可能是为了隐藏他们的站点上使用了什么样的脚本,这是一种通过模糊性度量的弱安全性
针对您的问题,没有(简单的)方法将所有可能的结果生成为静态HTML文件。你看到的可能是数十亿的排列。如果您遇到性能问题,请查看性能分析、缓存、查询优化等。从某种意义上讲,您所描述的是缓存。通过缓存,应用程序仅在页面内容发生更改时才会生成页面(甚至部分页面)。Rails内置了很多缓存功能,您可以根据需要进行调整。首先阅读描述Rails功能以及常见附加组件的。谷歌搜索“Rails 3缓存”-那里有大量的信息。最后,您可以向服务器堆栈中添加进行额外缓存的软件,如Squid和Varnish。有了正确的工具(和研究),你就可以从静态站点中获得95%的好处,而无需手动将站点变成准静态的Frankenapp 从某种意义上讲,您所描述的是缓存。通过缓存,应用程序仅在页面内容发生更改时才会生成页面(甚至部分页面)。Rails内置了很多缓存功能,您可以根据需要进行调整。首先阅读描述Rails功能以及常见附加组件的。谷歌搜索“Rails 3缓存”-那里有大量的信息。最后,您可以向服务器堆栈中添加进行额外缓存的软件,如Squid和Varnish。有了正确的工具(和研究),你就可以从静态站点中获得95%的好处,而无需手动将站点变成准静态的Frankenapp 我终于找到了,它指向了一些可以实现我所寻找的功能的工具。我在这里添加它只是为了将来参考: “Hyde是一个由Python和Django提供动力的静态网站生成器。Hyde支持所有Django模板标记和过滤器,甚至有自己的一些。内置的web服务器+自动生成器提供即时刷新和无限的灵活性…” “Jekyll是一个简单的、支持博客的静态网站生成器。它使用包含各种格式的原始文本文件的模板目录,通过Markdown(或Textile)和Liquid转换器运行,并生成一个完整的、随时可发布的静态网站,适合与您喜爱的web服务器一起使用…” “Blatter是一个创建和发布静态网站的微型工具 基于动态模板构建……”我终于找到了,它指向了一些可以实现我所寻找的功能的工具。我在这里添加它只是为了将来参考: “Hyde是一个由Python和Django提供动力的静态网站生成器。Hyde支持所有Django模板标记和过滤器,甚至有自己的一些。内置的web服务器+自动生成器提供即时刷新和无限的灵活性…” “Jekyll是一个简单的、支持博客的静态网站生成器。它使用包含各种格式的原始文本文件的模板目录,通过Markdown(或Textile)和Liquid转换器运行,并生成一个完整的、随时可发布的静态网站,适合与您喜爱的web服务器一起使用…” “Blatter是一个创建和发布静态网站的微型工具 从动态模板生成…”