我正在将我们的大型网站(超过30,000个文件)从Apache 1.3迁移到Apache 2.2,并遇到了内容协商问题。显然,我们成千上万的文件名被编写为foo.en.html和foo.ja.html,并且通过对Apache 1.3 C代码源文件的一些操作,仅键入foo.html并使用浏览器设置为适当的语言。当我们设置Apache 2.2服务器时,我们并不是真的想破解Apache C代码来再次执行此操作,但是却不知道一种轻松支持这种文件命名的方法。
1)一种方法是,我们可以将所有文件从foo.en.html和foo.ja.html移到foo.html.en和foo.html.ja,并使用MultiViews来做适当的事情。但是,我们有很多SSI包含,以及各种直接引用文件的perl和php代码(即foo.en.html)。因此,需要很长时间才能确保完美。
2)另一种方法是创建数千个foo.html.var文件并使用“ Handler type-map .var”,它也将能够适当地提供这些文件。但是,该方法还需要一些工程才能达到完美。
我的希望是,Apache中可能还有另一种方法可以通过键入foo.html来支持foo.en.html和foo.ja.html之类的文件名。如果没有,我将在短期内执行方法2,然后在有更多时间时执行方法1。