Как использовать mod_rewrite, чтобы переписать динамический URL для поиска? - PullRequest
0 голосов
/ 11 февраля 2011

У меня есть интернет-магазин, где есть поле поиска. При поиске меня перенаправляют на ссылку, похожую на эту:

webshopdomain.com / index.php? Route = product / search & keyword = моя поисковая фраза

(ну, это больше похоже на: webshopdomain.com/index.php?route=product/search&keyword=my%20search%20phrase)

Что мне нужно добавить в htaccess для создания этого URL: webshopdomain.com/search/my%20search%20phrase показать содержимое указанного выше URL?

Я играл с этим инструментом (http://www.webconfs.com/url-rewriting-tool.php), но не понял, как просто захватить поисковую фразу и поместить ее в статический URL.

Я также гуглил, но из-за отсутствия правильной формулировки я не нашел ответа.

Спасибо: -)

EDIT:

Могу ли я использовать это? (Просто подумал, собираюсь проверить ...)

Options +FollowSymLinks
RewriteEngine on
RewriteRule search/(.*) index.php?route=product/search&keyword=$1
RewriteRule search/(.*)/ index.php?route=product/search&keyword=$1

Ответы [ 2 ]

0 голосов
/ 11 февраля 2011

Это было довольно просто, но пришлось переставить сам файл htaccess.

RewriteRule ^ search /(.*)$ index.php \? Route = product / search & keyword = $ 1

0 голосов
/ 11 февраля 2011

Чтобы избежать рекурсии, вам нужно взглянуть на строку запроса :

RewriteCond %{THE_REQUEST} ^GET\ /index\.php\?route=product/search&keyword=([^&\ ]*)&*([^\ ]+)?
RewriteRule ^index\.php$ /search/%1?%2 [L,R=301]
...