微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

.htaccess RewriteRule 用于带分页的搜索页面

如何解决.htaccess RewriteRule 用于带分页的搜索页面

我想为我的带有分页搜索结果页面一个重写规则,它必须满足以下条件:

显示网址​​ 1:

/search?q=SEARCH-QUERY

实际网址 1:

/search.PHP?q=SEARCH-QUERY

显示网址​​ 2:

/search?q=QUERY&p=N

实际网址 2:

/search.PHP?q=QUERY&p=N

其中 QUERY一个变量字符串(用户输入),N一个整数(页码)。

我有以下满足上述条件 1 的条件,但我无法修改它以满足条件 2。

RewriteCond %{THE_REQUEST} \s/(search)\?q=[^\s]*\s [NC]
RewriteRule ^ %1.PHP [L,QSA]

解决方法

对于您展示的样品,请您尝试以下一次。 在测试您的网址之前,请务必清除浏览器缓存。

RewriteEngine ON
RewriteCond %{THE_REQUEST} \s/(search)\?(?:q=[^\s]*)\s [NC]
RewriteRule ^ %1.php [L,QSA]
RewriteCond %{THE_REQUEST} \s/(search)\?(?:q=[^\s]*)&(?:p=[0-9]+)\s [NC]
RewriteRule ^ %1.php [L,QSA]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。