谁能帮帮忙。
我在htaccess中有这个:
RewriteRule ^(.*):(.*)$ /cat.php?s=$1 [L]
示例:site.com/id:category-name
代码基本上可以
我有这个用来分页
RewriteRule ^(.*):(.*)&page=(.*)$ /cat.php?s=$1&page=$2 [L]
示例:site.com/id:category-name&page=
我想使用此代码的分页,但它不工作时,它是RewriteRule ^(.*)&page=(.*)$ /cat.php?s=$1&page=$2 [L]
的例子:site.com/id&page=1工程没有问题
但我希望它是site.com/id:categoryname&page=为什么代码不工作?
怎么会这样呢?示例:site.com/id:category-name&page=
2条答案
按热度按时间68de4m5k1#
问题是在.htaccess中,你不能直接在RewriteRule中捕获查询参数(?key=value)。相反,你应该使用RewriteCond来检查查询字符串。
这里有一个解决方案来实现你想要的:
请记住,这将适用于apache v.2.4。在以前的版本中使用
[L]
而不是[END]
(因为END不可用),并且您需要确保后续规则不会干扰。希望这对你有帮助!
aurhwmvo2#
我发现我的错误在哪里:)在文件本身(cat.php)我忘了添加到请求来验证页面
"OR name='$categoryname'"
我把它修好了(htaccess)
例如:site.com/id:categoryname&page=2
现在它的工作:)谢谢你的帮助!