几天来,我一直在尝试让 apache 风格的多视图与 path_info 一起工作,但没有运气。我正在使用 nginx/1.2.1 和 php5-fpm 2.4.0。我的目标是能够访问翻译到的example.com/product/48/my-product-name
位置,并将所有进行的内容解释为 path_info。product
product.php
我设计了一个正则表达式来将 URI 拆分成product
,/48/my-product-name
它似乎在纸上有效,但在我的配置中不起作用:
^(.+?)(\/.*)$
我在定义 fastcgi_param SCRIPT_FILENAME 等时将它与 fastcgi_split_path_info 一起使用......以及更多组合。
编辑:我刚刚意识到这个正则表达式不适用于以下网址:example.com/dir/script/path/info
它不会被翻译为dir/script.php
, and /path/info
, but /dir.php
, and /script/path/info
。我开始怀疑这是否有可能克服?
我是 nginx 的新手,想尝试一下,因为它显然比 Apache 更快且资源消耗更少,但我不明白为什么这会是一件很难实现的事情。任何帮助是极大的赞赏。谢谢。