RewriteRule из пути подпапки к пути другой подпапки

В настоящее время я создаю набор для RewriteRules для клиента, который переносит свой веб-сайт на новую платформу, и у меня возникла странная проблема со следующим правилом:

RewriteRule ^/folder/filename.cfm  /another_folder/subfolder/filename.cfm?name=value

У меня никогда не было проблем с правой стороной правила, кстати, URL работает. Но левая сторона моя первая с папкой.

Итак, что происходит, я получаю как ошибка 404. Но следующее правило будет работать нормально.

RewriteRule ^filename.cfm  /another_folder/subfolder/filename.cfm?name=value

У кого-нибудь есть идеи. Кстати, где это было в системе Windows, использующей Helicon Ape Manager.

2 ответа

Решение

Я предполагаю, что вы используете.htaccess файл внутри / папки /? Вот цитата из документации Helicon Ape Контекст и порядок обработки:

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

Проблема, которую я обнаружил после использования анализатора HTTP-запросов, заключается в том, что APE нормализует перенаправляющие ссылки. Так что ссылка, которая включает в себя %2E сбежит в %372E, И поэтому ссылки становились недействительными.

Другие вопросы по тегам