Мне нужно перенести сайт с веб-сервера Nginx на Apache. Мне удалось успешно преобразовать все, кроме двух правил, необходимых для совместимости с устаревшими URL-адресами (ранее веб-сайт разрабатывался на ASP, а затем переписывался на PHP).
Такими правилами являются:
location /images/index.asp { return 301 $scheme://$server_name/image-library?$args; }
, который перенаправляет запросы на https://www.domain.ext/images/index.asp?var1=somevalue&var2=someother на https://www.domain.ext/image-library?var1=somevalue&var2=someother
и
location ~ ^/images/(?<year>[0-9]+)/index.asp { return 301 $scheme://$server_name/image-library?img_year=$year&$args; }
, который перенаправляет запросы на https://www.domain.ext/images/2018/index.asp?var1=somevalue&var2=someother на https://www.domain.ext/image-library?img_year=2018&var1=somevalue&var2=someother
Не могли бы вы помочь мне написать правильные правила RedirectMatch 301?
... тем временем я нашел решение, которое работает для меня: первое правило можно перевести как:
RewriteRule ^/images/index.asp https://www.domain.ext/image-library [R=301,QSA]
и второй как:
RewriteRule ^/images/([0-9]+)/index.asp https://www.domain.ext/image-library?img_year=$1 [R=301,QSA]