В настоящее время я помогаю в переходе старой CMS на новую CMS. В рамках этого у нас есть много переадресаций для настройки.

Мы решили загрузить их в файл .htaccess, чтобы их можно было легко контролировать по версии и изменять не администраторам.

Файл выглядит так:

Redirect 301     /product-123.aspx /product-123.html
Redirect 301     /product-456.aspx /product-456.html

Однако я натолкнулся на недокументированное и неожиданное поведение - перенаправление 301 соответствует подстрокам. Например, учитывая это правило:

Redirect 301 /page /page.html

Он переписывает /page -> page.html, как и ожидалось, но также переписывает /page /2 -> /page.html/2 и /page /contact -> /page.html/contact, что вызвало много неожиданных крайних случаев.

Есть ли обходной путь или способ отключить это поведение? Или, если это поведение не может быть отключено, что является лучшим альтернативным методом?

0