我希望 /category?id=2 重定向到 .htaccess 中的 /index?cat=2
我尝试过以下代码
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^category?id=$ /index.php?cat=$1 [L]
但是什么也没发生。我知道我的代码有问题。有人知道我应该改变什么吗?
重写模块的文档明确指出
RewriteRule
与所请求 URL 的 path 组件相匹配。不针对查询字符串。为了匹配,您可以添加 RewriteCondition
,您还可以从那里捕获字符串并使用“%”符号引用它们:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{QUERY_STRING} ^id=(\d+)$
RewriteRule ^/?category$ /index.php?cat=%1 [L]