繁体   English   中英

重写 URL 并获取参数

[英]rewrite URL and get parameter

目前我有这个网址格式:

www.domain.de/?paramter=value

使用 php 我可以访问这样的值:

<? echo $_GET['paramter']; ?>

但我想将 url 重写为这种格式:

www.domain.de/paramter=value

如何使用 htaccess 行实现这一点,以及如何在重写后使用 php 访问它?

请试试这个:

$g = $_GET;

$new_str = '';
foreach($g as $key => $value) {
    $new_str .= "$key=$value";
} 

echo $_SERVER['SERVER_NAME'] ."/". $new_str;

使用以下网址:

http://site.test/i.php?p1=1&p2=2&p3=3 ,

它将返回:

site.test/p1=1p2=2p3=3

基本上,这段代码遍历 $_GET 参数,然后获取键和值,将它们转换为字符串,然后使用该字符串写入最终 URL。 您可以根据需要格式化输出。

www.domain.de/paramter=value

是一种非常奇怪的价值观。 但是,每当用户输入此类 URL 时,您都可以通过 Apache 服务器上的 .htaccess 确保用户登陆正确的页面

RewriteEngine On
RewriteRule ^/?([^=]+)=(.+)$ /?$1=$2 [L,NC,R=302]

演示: https : //htaccess.madewithlove.be?share=53dc007b-3781-4d1d-80c6-5f0234cdf11a

这样,您的 PHP 代码就完好无损,后端代码无需更改。 如果您希望进行永久重定向,请设置R = 301

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM