mod_rewrite: преобразование строк запроса в ссылки на страницы через дефис - PullRequest
0 голосов
/ 16 января 2012

Как мне преобразовать этот URL во что-то похожее на страницу:

http://www.example.com/search-results/?action=search&type%5Bequal%5D=Blog&keywords%5Bany_words%5D=visual+basic

Я хочу преобразовать вышеуказанный URL-адрес в:

http://www.example.com/blogs/visual-basic

Когда пользователь нажимает на преобразованную короткую ссылку 2, он должен перейти к длинному URL-адресу 1, указанному вверху.

Я пробовал это, но это не работает:

RewriteRule ^blogs/([a-zA-Z0-9_-]+)\.html$ /search-results/?action=search&type%5Bequal%5D=Blog&keywords%5Bany_words%5D=$1 [NC,L]

1 Ответ

0 голосов
/ 16 января 2012

Либо у вас вопрос неправильный, либо ваш RewriteRule неправильный.

Вы хотите, чтобы пользователь набрал http://www.example.com/blogs/visual-basic

и этот адрес будет внутренне переписан:

http://www.example.com/search-results/?action=search&type%5Bequal%5D=Blog&keywords%5Bany_words%5D=visual+basic

Нет "html", заканчивающего URL в вашем адресе пользователя. Таким образом, попробуйте это, оно должно работать:

RewriteRule ^ blogs / ([a-zA-Z0-9 _-] +) $ / search-results /? Action = search & type% 5Bequal% 5D = Блог & ключевые слова% 5Bany_words% 5D = $ 1 [NC, L]

...