我有htaccess文件和分页搜索引擎, 这是我的搜索引擎表单
<form class='fright' method='get' action='hasil_cari=' onsubmit="return false;">
<input class='srcText' style='padding:6px;'type='text' name='keyword'>
<input class='submit' style='padding:5;' type='submit' value='find' onclick="window.location.href=this.form.action + this.form.keyword.value;">
</form>
这是我的RewriteRule for clean url
RewriteRule ^admin/keyword=(.*)-page=(.*)$ admin/index.php?h=home&m=find&keyword=$1&p=$2 [L]
然后我点击第2页,但'-page = 2'作为关键字读取,因此我创建的错误消息显示
在浏览器的地址栏中:localhost/project/admin/keyword=....-page=2
“找不到数据= .....- page2”
任何人都可以解决它吗?
答案 0 :(得分:0)
.*
匹配任何字符,0次或更多次。
您可以使用-
指定忽略[^-]*
字符(方括号表示范围,范围开头的插入符号表示“与这些不匹配”),以便您的网址的-page
部分不会被部分关键字吞噬:
RewriteRule ^admin/keyword=([^-]*)-page=(.*)$ admin/index.php?h=home&m=find&keyword=$1&p=$2 [L]
此外,如果您只想匹配数字页码,您可以这样做:
RewriteRule ^admin/keyword=([^-]*)-page=([0-9]*)$ admin/index.php?h=home&m=find&keyword=$1&p=$2 [L]