【发布时间】:2009-01-27 08:52:48
【问题描述】:
我对 mod_rewrite 有一个奇怪的问题,这里相关的规则是:
RewriteRule ^(.*)\/igre\-(.*)\.php\?Page=([0-9]+)$ game.php?GameUrl=$2&Page=$3 [L]
RewriteRule ^(.*)\/igre\-(.*)\.php$ game.php?GameUrl=$2&Page=1 [L]
相应的 URL 可能如下所示:
example.com/miselne-igre/igre-shirk.php?Page=2
example.com/miselne-igre/igre-shirk.php
问题是第一条规则没有效果。如果我使用示例中的第一个 URL,我总是将 1 输入到 Page 变量中,这表明使用了第二个规则。 那么第一个有什么问题呢?如果我说 URL 以“.php”结尾,为什么第二条规则甚至匹配最后带有“.php?Page=XYZ”的 URL?
ps:.htaccess 文件中的其他规则工作正常...
【问题讨论】:
标签: apache mod-rewrite