Правило .htaccess для перезаписи GET URL - PullRequest
0 голосов
/ 04 августа 2010

На сайте у меня есть поисковая форма с методом get. Я хотел бы знать, могу ли я переписать этот URL-адрес для лучшего вида.

Например, теперь, после отправки формы поиска, я получаю URL-адрес, подобный этому:

http://www.mywebsite.com/search.php?search_category=0&search_term=Jackson&submit_search=

Было бы здорово, если бы я мог выглядеть так:

http://www.mywebsite.com/search/Jackson/

Спасибо.

Ответы [ 2 ]

4 голосов
/ 04 августа 2010
Options +FollowSymLinks
RewriteEngine On
RewriteBase /

RewriteRule ^/search/(.*)/ /search.php?search_category=0&search_term=$1&submit_search= [L]
0 голосов
/ 05 августа 2010

Вам нужно сделать два перенаправления, так как вы, вероятно, хотите, чтобы последний также распознавал первый:

# /search.php?search_term=foo to /search/foo/
RewriteCond %{THE_REQUEST} ^GET\ /search\.php\?([^& ]*&)*search_term=([^& ]*)
RewriteRule ^/search\.php$ /search/%2/ [L,R=301]

# /search/foo/ to /search.php?search_term=foo
RewriteRule ^/search/([^/]+)/$ search.php?search_category=0&search_term=$1&submit_search [L]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...