我在.htaccess
文件中有这些行:
RewriteCond %{HTTP_COOKIE} ^.*ddl=([^;]+);'sddc=([^;]+).*$ [NC]
RewriteCond %1 =%2
RewriteRule .* index.php?ddc=%2&ddl=%1 [L]
%{HTTP_COOKIE}
科奈特斯ddl=123456; ddc=123456
.
当我浏览 URL 时,它无法按上述预期工作。但是如果我将第二行更改为RewriteCond %1 !=%2
它将变为index.php
.在该文件中,我做了一个var_dump($_GET)
,输出是这样的:
array(2) { ["ddc"]=> string(6) "123456" ["ddl"]=> string(6) "123456" }
我的问题是,为什么RewriteCond %1 =%2
不能正常工作!
你不能
在RewriteCond
中使用%1
、%2
等。尝试以下代码进行反向引用:
RewriteCond %{HTTP_COOKIE} ^.*ddl=([^;]+);'sddc='1.*$ [NC]
RewriteRule ^ index.php?ddc=%2&ddl=%1 [L]