PHP通过URL传递参数

sik*_*kas 5 php

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

mydomain.com/file.php?var1=val1&var2=val2&...varN=valN
Run Code Online (Sandbox Code Playgroud)

我想用它如下:

mydomain.com/file.php?val1-val2-...-valN
Run Code Online (Sandbox Code Playgroud)

我还在某些网站上看到URL的格式如下

mydomain.com/file/####
Run Code Online (Sandbox Code Playgroud)

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

Cla*_*diu 12

你应该使用.htaccess

这是一个例子:

Options +FollowSymLinks
RewriteEngine On

RewriteRule ^([0-9-_]+)/([a-zA-Z0-9-_]+)/?$ index.php?var1=$1&var2=$2 [NC,L]
Run Code Online (Sandbox Code Playgroud)

这基本上意味着如果根据上面的正则表达式(数字 - 斜杠 - 字母数字,短划线或下划线)格式化URL,则应该从index.php显示内容,同时传递文件两个名为var1和var2的参数,var1具有数字的值和第二个具有第一个斜杠之后的值的值.

例:

mysite.com/20/this_is_a_new_article/
Run Code Online (Sandbox Code Playgroud)

实际上意味着

mysite.com?var1=20&var2=this_is_a_new_article
Run Code Online (Sandbox Code Playgroud)

当然,在index.php文件中,您只需使用值即可

$var1 = $_GET['var1'];
$var2 = $_GET['var2'];
Run Code Online (Sandbox Code Playgroud)

干杯!