Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.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 使用mod rewrite时,在符号AND后切断字符串_Php_.htaccess_Mod Rewrite_Ampersand - Fatal编程技术网

Php 使用mod rewrite时,在符号AND后切断字符串

Php 使用mod rewrite时,在符号AND后切断字符串,php,.htaccess,mod-rewrite,ampersand,Php,.htaccess,Mod Rewrite,Ampersand,如果我有一个带符号的变量,并尝试在php中回显该变量,则在使用mod rewrite URL时,字符串在符号处被截断 变量为search&search 使用时: page.php?s=search+%26+search 我可以重复完整的变量搜索和搜索 使用重写的URL时: page/search+%26+search/ 我回显变量并打印search 要解决此问题,需要向htaccess添加哪些内容 当前访问权限: RewriteCond %{THE_REQUEST} /page\s=([^&

如果我有一个带符号的变量,并尝试在php中回显该变量,则在使用mod rewrite URL时,字符串在符号处被截断

变量为
search&search

使用时:

page.php?s=search+%26+search
我可以重复完整的变量<代码>搜索和搜索

使用重写的URL时:

page/search+%26+search/
我回显变量并打印
search

要解决此问题,需要向htaccess添加哪些内容

当前访问权限:

RewriteCond %{THE_REQUEST} /page\s=([^&\s]+) [NC]
RewriteRule ^ page/%1? [L,R=302,NE]

RewriteRule ^page/([^/]+)/?$ page.php?s=$1 [L,QSA]

char&是一个单独的查询键值,它不能在uri中使用,这是您获得意外输出的主要原因。
page.php?s=search+%26+search
是正确用法,
page/search+%26+search/
是不正确用法<代码>/page/?搜索+%26+搜索将是正确的用法。^^误导。要在重写url中使用符号,只需对它们进行双重编码。e、 g.
/page/search+%2526+search
。要在重写URL时使用加号,请将它们编码三次。例如
/page/search+search
将是
page/search+%25252B+search