Я прошел через каждый учебник по mod_rewrite, но я не могу понять это.Перепишите результаты поиска
Я хочу переписать поисковые запросы от www.domain.com/?s=query
до www.domain.com/search/query
. До сих пор мне удалось добиться этого с помощью этого правила:
RewriteCond %{THE_REQUEST} ^[A-Z]+\ /(#[^?&\ ]*)?\?([^&\ ]*&)?s=([^&\ ]+)[^\ ]*\ HTTP/
RewriteRule ^$ http://www.domain.com/search/%3? [R=301,L]
Проблема заключается в том, что некоторые запросы будут привести к тому, несколько страниц результатов поиска ведьму доступны через www.domain.com/?s=query&nggpage=n
(где п превосходит 2).
В этом случае, я хочу переписать это и в конечном итоге с URL-адресами: www.domain.com/search/query/nggpage-n
.
Не совсем уверен, как добиться этого. Я ищу помощь ребятам.
ИМХО вы могли бы попытаться расколоть проблему, как обрабатывать 'nggpage' отдельно и в другом случае отдельно. – g13n
Когда вы говорите, что хотите переписать 'www.domain.com/? S = query' на' www.domain.com/search/query', вы имеете в виду, если кто-то напечатает первый, который вы хотите, чтобы окно браузера перенаправлялось на второй, или вы хотите, чтобы люди вводили второй, и он должен быть переписан первым? – baynezy
Когда кто-то набирает www.domain.com/?s=query, он перенаправляется на сайт www.domain.com/search/query, который имеет тот же контент. Данное правило уже сделало трюк, но когда дело доходит до обработки второй переменной (nggpage), это сложная часть. И да @ g13n Я уже пробовал, но безуспешно. – Ace