PHP $ _GET и .htaccess переписать

Я знаю, что это, вероятно, общий вопрос, и его задавали раньше, но .htacess выглядит чужим для меня, и я не могу заставить его работать, глядя на предыдущие вопросы.

У меня есть индексный скрипт, который ищет и синтаксис:

.../listing/?field=property_type&query=retail 

Я просто хочу переписать это так:

 .../listing/{field}/{query} 

Еще один улов, у меня есть некоторые поля, которые являются логическими .. например:

 .../listings/?forlease=1 

Поэтому в этом случае я просто использую isset() но хотел бы переписать это:

 .../listings/forlease/ 

Спасибо за вашу помощь, как всегда! Переполнение стека!

РЕДАКТИРОВАТЬ:

Я вижу некоторые хорошие ответы, но полностью, что я ищу:

Пользовательские запросы: .../listing/property_type/retail/

Apache перезаписывает: ../listing/?field=property_type&query=retail

Сценарий видит: $_GET['field']='property_type' & $GET['query']='retail'

В случае логического (все булевы будут иметь только один Dir):

Пользовательские запросы: .../listing/forlease/

Apache перезаписывает: ../listing/?forlease=1

Скрипт видит: $_GET['forlease'] = 1

В вашем .htaccess у вас может быть несколько простых правил:

 RewriteRule ^.*/listings/([a-zA-Z0-9_]+)/([a-zA-z0-9_]+)$ /listing/?property_type=$1&query=$2 [QSA,L] RewriteRule ^.*/listings/forlease/$ /listing/?forlease=1 [QSA,L] 

Если ваш веб-сервер Apache, то вы можете использовать mod_rewrite.

Выезд: http://www.yourhtmlsource.com/sitemanagement/urlrewriting.html =)

 RewriteRule ^.*/listing/([^/]*)/?$ listing/?$1=1 [NC,L] RewriteRule ^.*/listing/([^/]*)/?(.*)$ listing/?property_type=$1&query=$2 [NC,L] 

Попробуйте это, сначала проверит одно условие (http: //…listing/forlease), в противном случае перезаписывает (http: //…listing/field/query)

Вы можете захотеть:

 RewriteRule ^.*/listing/([^/]*)/?$ listing/?$1=1&%{QUERY_STRING} [NC,L] RewriteRule ^.*/listing/([^/]*)/?(.*)$ listing/?property_type=$1&query=$2&%{QUERY_STRING} [NC,L] 

Чтобы сохранить дополнительные параметры в строке запроса.