PHP и Apache Mod переписать: поиск? Ключевое слово - PullRequest
1 голос
/ 08 ноября 2010

это правила перезаписи, которые я обычно использую для чистых URL,

RewriteRule ^([a-zA-Z0-9\-]+)/?$  index.php?pg_url=$1 [L,QSA]
RewriteRule ^([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)/?$  index.php?pg_url=$2 [L,QSA]

они примут запрошенные URL, такие как,

mysite/home
mysite/portfolio/photograhy

но как я могу установить правило перезаписи для поиска, например,

mysite/search?photograhy
mysite/search?painting

Я попробовал с этим ниже,

RewriteRule ^search?([a-zA-Z0-9\-]+)/?$ index.php?pg_url=search&keyword=$1[L,QSA]

они не найдут правильное ключевое слово, но я получу это ниже того, что ищу

echo $_REQUEST['keyword'];


h[L,QSA] // result

спасибо.

1 Ответ

1 голос
/ 08 ноября 2010

Вам необходимо использовать RewriteCond для строки запроса, например:

RewriteCond %{QUERY_STRING} ^keyword=([a-zA-Z0-9\-]+)$

Вам нужно настроить запрос так, чтобы он делал что-то вроде ?keyword=photography

Вот некоторые чтенияпо теме: http://wiki.apache.org/httpd/RewriteQueryString

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...