Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.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 使用.htaccess重写查询字符串中的变量_Php_.htaccess - Fatal编程技术网

Php 使用.htaccess重写查询字符串中的变量

Php 使用.htaccess重写查询字符串中的变量,php,.htaccess,Php,.htaccess,我在我的网站上使用一个PHP脚本,在URL中生成一个查询字符串。查询字符串中的一个变量是:color=red 我想在.htaccess文件中制定一条规则,将color=red的所有实例重新写入color=blue 我没有权限更改原始PHP脚本,因此需要.htaccess规则 RewriteEngine On RewriteCond %{QUERY_STRING} ^(.*&|)colour=red(&.*|)$ # search colour=red RewriteRule ^

我在我的网站上使用一个PHP脚本,在URL中生成一个查询字符串。查询字符串中的一个变量是:
color=red

我想在.htaccess文件中制定一条规则,将
color=red
的所有实例重新写入
color=blue

我没有权限更改原始PHP脚本,因此需要.htaccess规则

RewriteEngine On
RewriteCond %{QUERY_STRING} ^(.*&|)colour=red(&.*|)$  # search colour=red
RewriteRule ^(.*)$ $1?%1colour=blue%2 [L,R=301]       # redirect to colour=blue
这将把查询字符串中带有
colour=red
的URL重定向到带有
colour=blue


这将把查询字符串中带有
color=red
的URL重定向到带有
color=blue

的URL。您好,谢谢您的回复。它不起作用,当我将您的代码添加到.htaccess时,出现了“内部服务器错误”。请问
mod\u rewrite
可用/启用了吗?在我的例子中,它按预期工作。嗨,是的,我的服务器上启用了mod_rewrite。我经常使用它重定向某些页面,也可以重新编写。将代码添加到.htaccess时遇到“内部服务器错误”。以防万一,我注释掉了.htaccess文件中的所有其他规则,但恐怕没有什么乐趣。上面的代码只解决了我问题的一半。有人知道如何重新定向URL,使查询字符串实际上包含
color=blue
,而不仅仅是
$\u GET
对其进行编辑吗?我编辑了我的答案。现在它将实际用
color=blue
替换
color=red
,并重定向到它。您好,谢谢您的回复。它不起作用,当我将您的代码添加到.htaccess时,出现了“内部服务器错误”。请问
mod\u rewrite
可用/启用了吗?在我的例子中,它按预期工作。嗨,是的,我的服务器上启用了mod_rewrite。我经常使用它重定向某些页面,也可以重新编写。将代码添加到.htaccess时遇到“内部服务器错误”。以防万一,我注释掉了.htaccess文件中的所有其他规则,但恐怕没有什么乐趣。上面的代码只解决了我问题的一半。有人知道如何重新定向URL,使查询字符串实际上包含
color=blue
,而不仅仅是
$\u GET
对其进行编辑吗?我编辑了我的答案。现在它将实际用
color=blue
替换
color=red
,并重定向到它。