[英]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.