我在.htaccess
文件中有这些行:
RewriteCond %{HTTP_COOKIE} ^.*ddl=([^;]+);\sddc=([^;]+).*$ [NC]
RewriteCond %1 =%2
RewriteRule .* index.php?ddc=%2&ddl=%1 [L]
%{HTTP_COOKIE}
同意ddl=123456; ddc=123456
。
当我浏览网址时,它无法正常运行。但如果我将第二行更改为RewriteCond %1 !=%2
,则会转到index.php
。在那个文件中,我做了一个var_dump($_GET)
,输出是这样的:
array(2) { ["ddc"]=> string(6) "123456" ["ddl"]=> string(6) "123456" }
我的问题是,为什么RewriteCond %1 =%2
不能正常工作!
答案 0 :(得分:3)
您无法在%1
中使用%2
,RewriteCond
等。尝试使用此代码进行反向引用:
RewriteCond %{HTTP_COOKIE} ^.*ddl=([^;]+);\sddc=\1.*$ [NC]
RewriteRule ^ index.php?ddc=%2&ddl=%1 [L]