Еще один вопрос mod_rewrite - PullRequest
0 голосов
/ 16 июля 2011

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

Пользователь вводит это в поле поиска города: Las Vegas, NV

Это строка запроса, которую он производит: http://localhost/lcp3/carpetlist.php?city=las+vegas%2C+nv

Я хочу это: http://localhost/lcp3/carpetlist/city/las-vegas-nv

Вот что я положил в свой файл .htaccess:

RewriteEngine on
RewriteRule ^/carpetlist/city/(.*)$ ./carpetlist.php?city=$1

Что я делаю не так?Я работал над этим в течение нескольких дней.Кажется, это должно быть просто, но это не так: (

Я знаю сайт, который делает то, что я хочу, но я не уверен, разрешено ли вам публиковать ссылки.

Ответы [ 2 ]

0 голосов
/ 16 июля 2011

Следует помнить, что правила перезаписи в файлах .htaccess работают с относительными путями, где они работают с абсолютными путями при использовании в контексте сервера. Поэтому попробуйте удалить первый слеш и посмотрите, поможет ли это:

RewriteRule "^carpetlist/city/(.*)$" "carpetlist.php?city=$1"
0 голосов
/ 16 июля 2011

Я не уверен, но я думаю, что у вас это задом наперед, попробуйте

RewriteRule ^/carpetlist.php?city=(.*)&?$ /carpetlist/city/$1
...