2010-11-08 2 views
1

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

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] 

они будут принимать запрошенные адреса, такие как,

mysite/home 
mysite/portfolio/photograhy 

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

mysite/search?photograhy 
mysite/search?painting 

Я пытался с этим ниже,

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

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

echo $_REQUEST['keyword']; 


h[L,QSA] // result 

спасибо.

ответ

1

Вы должны использовать RewriteCond для строки запроса, а-ля:

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

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

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

+0

Большое вам спасибо за это! :-) – laukok

+0

Добро пожаловать! – Stephen

Смежные вопросы