Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.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 无法获取查询字符串参数_Php_.htaccess - Fatal编程技术网

Php 无法获取查询字符串参数

Php 无法获取查询字符串参数,php,.htaccess,Php,.htaccess,我面临从查询字符串中获取变量的问题。我已将htaccess重定向用于我的页面 我写了以下规则 RewriteEngine On RewriteRule ^([a-zA-Z0-9-/]+).htm$ category.php?uniqname=$1 RewriteRule ^([a-zA-Z0-9-/]+).htm/$ category.php?uniqname=$1 如果我键入的gold plated chain.htm是重定向到的浏览器,则此规则将执行的操作 category.php?uni

我面临从查询字符串中获取变量的问题。我已将htaccess重定向用于我的页面

我写了以下规则

RewriteEngine On
RewriteRule ^([a-zA-Z0-9-/]+).htm$ category.php?uniqname=$1
RewriteRule ^([a-zA-Z0-9-/]+).htm/$ category.php?uniqname=$1
如果我键入的
gold plated chain.htm
是重定向到的浏览器,则此规则将执行的操作
category.php?uniqname=镀金链
现在我想传递一个变量,所以我这样做
gold plated chain.htm?page=2
,但我无法在category.php上获取页面变量。我正在正确重定向,但没有该页面变量


提前感谢

您应该从regexp中删除^。它表示字符串的开头。

您应该从regexp中删除^。它意味着字符串的开始。

I/think/您所追求的是应该附加查询字符串的QSA标志(请参阅)


尝试将[QSA]添加到重写规则行的末尾。

I/think/您所追求的是QSA标志(请参阅),该标志应附加查询字符串


尝试将[QSA]添加到重写规则行的末尾。

您需要添加[QSA]标志,以告知重写引擎合并查询字符串。添加[L]标志并指定一个基准始终是明智的。对“.”字符进行转义也是明智的,因为这会被解释为通配符,您也可以将这两个规则结合起来。因此:

RewriteEngine On
RewriteBase   /
RewriteRule   ^([\w-/]+)\.htm/?$   category.php?uniqname=$1  [L,QSA]

顺便说一句,
\w
只是
a-zA-Z0-9

的简写,您需要添加一个[QSA]标志来告诉重写引擎合并查询字符串。添加[L]标志并指定一个基准始终是明智的。对“.”字符进行转义也是明智的,因为这会被解释为通配符,您也可以将这两个规则结合起来。因此:

RewriteEngine On
RewriteBase   /
RewriteRule   ^([\w-/]+)\.htm/?$   category.php?uniqname=$1  [L,QSA]
顺便说一句,
\w
只是
a-zA-Z0-9
的缩写