1

我在.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 !=%2index.php. 在那个文件中我做了一个var_dump($_GET)输出是这样的:

array(2) { ["ddc"]=> string(6) "123456" ["ddl"]=> string(6) "123456" }

我的问题是,为什么RewriteCond %1 =%2不能正常工作!

4

1 回答 1

3

你不能%1在. 尝试使用此代码进行反向引用:%2RewriteCond

RewriteCond %{HTTP_COOKIE} ^.*ddl=([^;]+);\sddc=\1.*$ [NC]
RewriteRule ^ index.php?ddc=%2&ddl=%1 [L]
于 2013-09-19T14:21:11.807 回答