为什么一个htaccess重定向工作,而不是另一个,即使它们的格式完全相同?

时间:2017-10-05 01:36:22

标签: php .htaccess

我的htaccess文件中有以下几行......

RewriteRule ^poolpage.php?poolid=9f30d1c77b91aca6318d179ad5df2b7 /poolpage.php?poolid=9f30d1c77b91aca6318d179ad5df2b7a [NC,L]
RewriteRule ^poolpage.php?poolid=c4899d49e0a26b47bb5d3fd85f2c429a /poolpage.php?poolid=c4899d49e0a26b47bb5d3fd85f2c429 [NC,L]

注意:两者的区别仅在于每个网址的最后一个字符。

第一个重定向很好。第二个没有。

任何想法如何发生这种情况?

1 个答案:

答案 0 :(得分:2)

您无法在RewriteRule中测试查询字符串。改为使用:

RewriteCond %{QUERY_STRING} (?:^|&)poolid=9f30d1c77b91aca6318d179ad5df2b7(?:&|$) [NC]
RewriteRule ^poolpage\.php$ /poolpage.php?poolid=9f30d1c77b91aca6318d179ad5df2b7a [NC,L]

RewriteCond %{QUERY_STRING} (?:^|&)poolid=c4899d49e0a26b47bb5d3fd85f2c429a(?:&|$) [NC]
RewriteRule ^poolpage\.php$ /poolpage.php?poolid=c4899d49e0a26b47bb5d3fd85f2c429 [NC,L]