我试图了解如何使这个位置块按预期工作。
## TESTING MOD REWITE FROM APACHE...
location /beta9/projects/project/ {
try_files $uri $uri/ /beta9/projects/project/index.php?$args;
fastcgi_pass php_processes;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
我怎样才能获取以下 URL
屏蔽 URL
http://localhost/beta9/projects/project/574
..并将其处理为...
原始网址
http://localhost/beta9/projects/project/?project_id=574
如您所见,这些 url 参数没有传递,并且 php 页面中断。
答案1
好吧。首先,感谢您投反对票,因为它激发了我进行更多研究。当您厌倦了在 stackoverflow 和 serverfault 上搜索此答案时,请记住将有 1 个或多个反对票且没有任何反馈的答案添加到书签中。具有讽刺意味的是,它就是那个。
以下一行代码可以作为解决方案。
## REWRITE - SEGMENT TO PARAMETER Coversion
location ~ /beta9/projects/project/ {
rewrite ^/beta9/projects/project/(\d+)$ /beta9/projects/project/index.php?project_id=$1 last;
}
如果能至少得到一些反馈,了解该解决方案中是否存在冗余,以及是否有更优雅的方法来实现这一点,那就太好了。