Удалите + (плюс символ) из URL, используя .htaccess или PHP

0

Недавно я внес некоторые изменения в файл.htaccess моего сайта. У меня есть форма поиска, которая ищет базу данных, используя простой скрипт php.

Прямо сейчас, если пользователь ищет "красные грузовики" из mysite.com/search.php, мой сайт возвращает mysite.com/red+trucks.php (я уже установил файл.htaccess для создания дружественных URL-адресов и 301 перенаправления), Мне интересно, как удалить символы +plus и изменить их на - дефисы?

Мой файл.htaccess выглядит так, как вы меняете в CMate

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^search/(.*)\.php search.php?pro_query=$1
RewriteRule ^search/(.*)\.php$ /scripts/search.php?pro_query=$1
RewriteCond %{QUERY_STRING} ^pro_query=([0-9,a-z,.*,%25,%2B,%+]+)$
RewriteRule ^scripts/search\.php /search/%1.php? [R=301,NC,L]
RewriteRule ^([^+]*)\+(.*) $1\-$2 [N]
Теги:
.htaccess
mod-rewrite

1 ответ

0

Попробуйте это правило, если заменить все символы + на: -:

RewriteRule ^([^+]*)\+(.*) $1\-$2 [N]

В вашем случае добавьте его как последнее правило.

  • 0
    Спасибо за ваш ответ. К сожалению, это не сработало. Я получил «Нет данных отправлено». Страница создается динамически, и если пользователь вводит более одного слова, созданная страница включает + между обоими словами.
  • 0
    Версия моего htaccess вставлена ниже:
Показать ещё 8 комментариев

Ещё вопросы

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