.htaccess使用get参数重写url

ybzsozfc  于 2022-11-16  发布在  其他
关注(0)|答案(1)|浏览(214)

我正试着重写类似的东西。

http://127.0.0.1/code1/code2/get?a=8&q=7

代码1和代码2正在更改

http://127.0.0.1/get.php?c1=code1&c2=code2&a=8&q=7

我已经尝试了很多事情,比如

RewriteEngine On
RewriteRule ^get\.php$ - [L]
RewriteRule ^([^/]+)\/([^/]+)\/get?(.*)$ /get.php?c1=$1&c2=$2&$3 [L]

code1和code2工作正常,但get不工作。
==================我有一个测试php文件,类似于

<?php
echo $_GET['c1']."<br>";
echo $_GET['c2']."<br>";
echo $_GET['a']."<br>";
echo $_GET['q']."<br>";
?>

这就是我所得到的。

code1
code2
cotxawn7

cotxawn71#

RewriteRule ^(.*)/(.*)/get$ get.php?c1=$1&c2=$2 [L]

然后,您将获得c1c2的值。

$katorymnd_uxqn  = explode("&", explode("?", $_SERVER['REQUEST_URI'])[1] );
print_r($katorymnd_uxqn);

给出剩余值的数组

Array ( [0] => a=8 [1] => q=7 );

您的页面get.php代码应如下所示

echo $_GET['c1']."<br>";
echo $_GET['c2']."<br>";

$katorymnd_uxqn  = explode("&", explode("?", $_SERVER['REQUEST_URI'])[1] );

$katorymnd_ldba = array();
$katorymnd_ldba[] = $katorymnd_uxqn;

print explode('=', $katorymnd_ldba[0][0], 2)[1]."<br>";
print  explode('=', $katorymnd_ldba[0][1], 2)[1]."<br>";

现在,您将获得预期的所有值。

code1
code2
8
7

相关问题