Попробуйте директиву RedirectMatch с регулярным выражением . Это зависит от mod_alias , так что это, вероятно, всегда включено. Вы можете использовать mod_rewrite для этого тоже, но это может быть излишним. Замена может содержать ссылки в виде $ n:
RedirectMatch 301 ^/get\.php\?i=([0-9]+)$ /i/$1
Как вы можете себе представить, $1
является ссылкой на то, что соответствует в паре скобок # 1 . Вы можете иметь много ссылок:
RedirectMatch 301 ^/get\.php\?i=([0-9]+)&y=([0-9]+)$ /i/$1/$2/
Вы можете использовать онлайновый тестер регулярных выражений для разработки вашей конфигурации apache: если я введу ^/get\.php\?i=([0-9]+)&y=([0-9]+)$
во вход "Regexp" и /get.php?i=12&y=24
во вход "Subject string", затем нажмите «Показать матч» показывает:
Match at position 0:
/get.php?i=12&y=24
12 # first reference available
24 # second reference available
Если ваши регулярные выражения не работают в тестере, они вряд ли будут работать в конфигурации apache. Сначала вы должны попробовать их в тестере.