PHP通过URL传递参数

时间:2010-10-10 18:38:42

标签: php

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

mydomain.com/file.php?var1=val1&var2=val2&...varN=valN

我想按如下方式使用它:

mydomain.com/file.php?val1-val2-...-valN

我也在某些网站上看到网址采用以下格式

mydomain.com/file/####

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

2 个答案:

答案 0 :(得分:12)

你应该使用.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'];

干杯!

答案 1 :(得分:0)

您的第三个示例是REST如何识别服务器端资源的示例。你在这里谈论的内容听起来非常像REST会做你想要的。我建议从这里开始(http://en.wikipedia.org/wiki/Representational_State_Transfer#RESTful_web_services)。