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
, И поэтому ссылки становились недействительными.