PHP通过URL传递参数

PHP通过URL传递参数,php,Php,我想知道如何通过URL在页面之间传递参数,而不必添加变量,例如: mydomain.com/file.php?var1=val1&var2=val2&...varN=valN 我想按如下方式使用它: mydomain.com/file.php?val1-val2-...-valN 我还看到在一些网站的网址是在以下格式 mydomain.com/file/#### 它重定向到另一个页面而不更改URL,就好像这是文件的URL一样。您应该使用.htaccess 下面是一个例子:

我想知道如何通过URL在页面之间传递参数,而不必添加变量,例如:

mydomain.com/file.php?var1=val1&var2=val2&...varN=valN
我想按如下方式使用它:

mydomain.com/file.php?val1-val2-...-valN
我还看到在一些网站的网址是在以下格式

mydomain.com/file/####

它重定向到另一个页面而不更改URL,就好像这是文件的URL一样。

您应该使用.htaccess

下面是一个例子:

Options +FollowSymLinks
RewriteEngine On

RewriteRule ^([0-9-_]+)/([a-zA-Z0-9-_]+)/?$ index.php?var1=$1&var2=$2 [NC,L]
这基本上意味着,如果URL是根据上面的正则表达式(数字-斜杠-字母数字、破折号或下划线)进行格式化的,那么内容应该在index.php中显示,同时传递两个名为var1和var2的参数,var1的值是数字,第二个值是第一个斜杠后面的值

例如:

mysite.com/20/this_is_a_new_article/
实际上意味着

mysite.com?var1=20&var2=this_is_a_new_article
当然,在index.php文件中,您可以使用

$var1 = $_GET['var1'];
$var2 = $_GET['var2'];

干杯

第三个示例是REST如何识别服务器端资源的示例。你们在这里所说的听起来很像REST会做你们想做的事。我建议从这里开始(http://en.wikipedia.org/wiki/Representational_State_Transfer#RESTful_web_services).

我在某个地方读到,这是由PHP完成的,我看到了一个示例,但在我更换电脑后,我找不到它:(…这就是为什么我想用PHP做它…我记得它使用了explode函数…你可以用PHP做,但我不推荐。无论如何,你可以简单地使用$_SERVER['REQUEST_URI']并分解结果。例如:explode('/',$_SERVER['REQUEST_URI']));这将返回一个您可以使用的数组。不过,您需要htaccess将每个URL重定向到您放置此代码的页面。如果我在URL中只传递一个参数而不是2,您也可以使用Hey bt。它显示404错误。解决方案是什么?因为有时我想传递一个变量,有时传递两个或更多,然后呢?