Apache "301 Redirect" в Htaccess делает сопоставление подстрок

257
Ben Yanke

В настоящее время я помогаю в переходе старой 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

0 ответов на вопрос

Похожие вопросы