我正在为我的公司开发API。通常,我们使用POST& GET方法将表单数据发送到其他网站或其他页面。但我想要的是,如果我们想要在URL中发送数据
http://www.example.com/data1/data2/data3
答案 0 :(得分:2)
查看Apache mod_rewrite(http://httpd.apache.org/docs/current/mod/mod_rewrite.html)。
您可以将data1/data2/data3
重写为?thing1=data1&thing2=data2&thing3=data3
,然后像往常一样使用$_GET
...
答案 1 :(得分:1)
您正在寻找的内容称为 URL重写,所有主要的Web服务器(如Apache和NGINX)都支持
。要了解有关apache中URL重写的更多信息,请访问: https://code.tutsplus.com/tutorials/using-htaccess-files-for-pretty-urls--net-6049
要了解有关NGINX中整洁网址的更多信息,请浏览https://serverfault.com/questions/653177/clean-url-with-several-params-in-nginx
在apache服务器中,可以通过启用名为mod_rewrite
的模块来实现干净的URL,一种简单的方法是使用.htaccess文件。
在nginx中,您可以使用web.config文件。
拥有干净的URL后,您可以使用GET,PUT,POST,PATCH,DELETE等任何方法,但请记住,如果用户在浏览器中输入您的URL,则默认情况下它始终是GET请求。
答案 2 :(得分:1)
您可以通过简单地获取整个网址和preg_split()
字符串,如下面的代码
$path = $_SERVER['REQUEST_URI']; // this gives you /folder1/folder2/THIS_ONE/file.php
$folders = preg_split('/', $path); // splits folders in array
$what_we_need = $folders[3];