我是这样的网址 http://www.example.com/index.php?page=profile&id=324&opt=edit&cat=23& ...
我希望我拥有 http://www.example.com/profile/324/edit/23 ...
我阅读了几个关于如何删除php扩展但不知道如何传递其他参数的教程
感谢所有人
更新
使用PHP解决方案。
nginx:
location / {
try_files $uri $uri/ /index.php;
}
PHP:
$params = explode("/",$_SERVER['REQUEST_URI']);
并使用它们
答案 0 :(得分:0)
实际上,如果这些参数总是和你的例子一样,这很容易。
在nginx配置中添加重写规则。
rewrite ^/index.php?page=(.*)&id=(.*)&opt=(.*)&cat=(.*)(&.*)$ /$1/$2/$3/$4
但如果每个请求中params的顺序发生变化,我们可能需要另一个解决方案。
<强>更新强> nginx将请求args存储在$ arg_name之类的变量中,$ arg_之后的名称是否为实际请求参数名称。因此,您只需要将带有拖尾问号的index.php请求重写为您想要的url样式。
rewrite ^/index.php? /$arg_page/$arg_id/$arg_opt/$arg_cat;