用于分页搜索引擎的干净网址中的RewriteRule

时间:2014-01-03 09:14:01

标签: php html .htaccess pagination

我有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”

任何人都可以解决它吗?

1 个答案:

答案 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]