我在阅读nginx的文档,但是不知道这个正则表达式中的'(?U)'是做什么用的。
http://wiki.nginx.org/HttpFastcgiModule#fastcgi_split_path_info
这是一个例子。脚本show.php以字符串article/0001作为参数接收。以下配置将正确处理路径拆分:location ~ ^.+\.php {
(...)
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
(...)
}
请求 /show.php/article/0001 会将 SCRIPT_FILENAME 设置为 /path/to/php/show.php,PATH_INFO 设置为 /article/0001。
这个正则表达式不够吗?
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
谢谢