Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 重写URL并获取参数_Php_Url Rewriting - Fatal编程技术网

Php 重写URL并获取参数

Php 重写URL并获取参数,php,url-rewriting,Php,Url Rewriting,目前我有以下url格式: www.domain.de/?paramter=value 使用php,我可以访问如下值: <? echo $_GET['paramter']; ?> 如何使用htaccess行实现这一点,以及如何在重写后使用php访问它?请尝试以下方法: $g = $_GET; $new_str = ''; foreach($g as $key => $value) { $new_str .= "$key=$value"; }

目前我有以下url格式:

www.domain.de/?paramter=value
使用php,我可以访问如下值:

<? echo $_GET['paramter']; ?>
如何使用htaccess行实现这一点,以及如何在重写后使用php访问它?

请尝试以下方法:

$g = $_GET;

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

echo $_SERVER['SERVER_NAME'] ."/". $new_str;
使用以下URL:

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

它将返回:

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

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

www.domain.de/paramter=value
这是一种非常奇怪的价值观表达方式。但是,每当用户输入这样的URL时,您都可以通过Apache服务器上的lower.htaccess确保用户登录到正确的页面

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


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

您最好将其重写为
www.domain.de/value
并使用parameter=valueno进行内部重定向。我需要的格式如我所述:/
RewriteEngine On
RewriteRule ^/?([^=]+)=(.+)$ /?$1=$2 [L,NC,R=302]