Apache htaccess Redirect - Почему моя строка запроса в двойных кавычках выполняет поиск и замену?
Redirect 302 "/blog" /
Я ожидаю, что это правило будет принимать запросы от /blog
в /
а также /blog/stuff
в /
; вместо /blog/stuff
в //stuff
Поведение идти от /blog/stuff
в //stuff
это то, что я ожидал бы от незамеченного регулярного выражения
что здесь происходит? Я думал, что Redirect должен был перенаправить на другой URL, а не заменять совпадение целевой строкой.
Почему одна директива не делает одну вещь?
1 ответ
Кавычки не работают так, как вы ожидаете, в Redirect
директивы. Для синтаксиса:
Redirect [status] [URL-path] URL
[...]
Тогда любой запрос, начинающийся с URL-Path, вернет запрос перенаправления клиенту в месте расположения целевого URL. Дополнительная информация о пути помимо соответствующего URL-пути будет добавлена к целевому URL.
Вы, наверное, ищете RedirectMatch
директива вместо
RedirectMatch 302 /blog.* /
Указанный шаблон / путь - это просто синтаксический сахар, доступный для включения путей, содержащих (пространства).