Php Apache Mod_重写错误地更改了大小写
我的root.htaccess文件中有以下规则Php Apache Mod_重写错误地更改了大小写,php,apache,.htaccess,mod-rewrite,Php,Apache,.htaccess,Mod Rewrite,我的root.htaccess文件中有以下规则 RewriteRule ^((?:Paired|Mobile)?Coupon|Raffle)/(\d+)/Image/?$ /product_image.php?type=$1&id=$2 [L,NC] 以及/product_image.php中的以下代码 var_dump([ "REQUEST_URI"=>$_SERVER["REQUEST_URI"], "QUERY_STRING
RewriteRule ^((?:Paired|Mobile)?Coupon|Raffle)/(\d+)/Image/?$ /product_image.php?type=$1&id=$2 [L,NC]
以及/product_image.php中的以下代码
var_dump([
"REQUEST_URI"=>$_SERVER["REQUEST_URI"],
"QUERY_STRING"=>$_SERVER["QUERY_STRING"]
]);
当我请求/优惠券/9/图像/我得到
array(2) {
["REQUEST_URI"]=> string(16) "/Coupon/9/Image/"
["QUERY_STRING"]=> string(16) "type=Coupon&id=9"
}
array(2) {
["REQUEST_URI"]=> string(15) "/Raffle/2/Image/"
["QUERY_STRING"]=> string(16) "type=raffle&id=2"
}
当我请求/抽奖/2/图像/我得到
array(2) {
["REQUEST_URI"]=> string(16) "/Coupon/9/Image/"
["QUERY_STRING"]=> string(16) "type=Coupon&id=9"
}
array(2) {
["REQUEST_URI"]=> string(15) "/Raffle/2/Image/"
["QUERY_STRING"]=> string(16) "type=raffle&id=2"
}
抽奖请求查询字符串始终为小写,而优惠券请求中的大小写更改反映在查询字符串中。如何确保查询字符串中保留请求大小写
我在这里询问之前的调试:
- 删除[No Case]标志会导致抽奖请求出现404错误(不区分大小写);优惠券请求仅与预期的“优惠券”匹配
.htaccess
文件中还有什么其他内容吗?我在.htaccess中有其他规则,但为了调试的目的对它们进行了注释。另外,我正在Win 8.0笔记本电脑上运行xampp 5.5.19(Apache 2.4.4)。您在匿名模式下尝试过吗?您的浏览器可能正在缓存来自服务器的以前的响应。有趣的是,我无法复制我这方面的行为。我不想问,但您是否100%确定您的请求是大写的抽奖?如果没有,您的.htaccess
文件中还有什么其他内容吗?我在.htaccess中有其他规则,但为了调试的目的对它们进行了注释。另外,我正在Win 8.0笔记本电脑上运行xampp 5.5.19(Apache 2.4.4)。您在匿名模式下尝试过吗?您的浏览器可能正在缓存服务器以前的响应。