RewriteRule в чистом URL для поисковой системы пагинации

0

У меня есть 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 для чистого 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

"не удается найти данные =..... -page 2"

любой может решить это?

Теги:
.htaccess
pagination

1 ответ

0

.* Соответствует любому символу, 0 или более раз.

Вы можете указать игнорировать - символ, используя [^-]* (квадратные скобки означают диапазон, символ каретки в начале диапазона означает "не соответствую этим"), так что -page часть вашего URL-адрес не попадает под часть ключевого слова:

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]
  • 0
    это не работа :(
  • 0
    ОК, это прекрасно работает для меня. Вы пытались использовать другой браузер, чтобы убедиться, что запрос не кэшируется? Какое сообщение / ошибка вы получаете на этот раз? Существуют ли другие правила htaccess?
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню