Я пытаюсь перенаправить все URL-адреса одной страницы блога в шаблон PHP.
/ blog / blog-post-1 будет указывать маршрут к index.php из / blog /, но сохранит URL-адрес существующего слага для извлечения данных.
Базовый маршрутизатор действительно только для папки блога.
Однако родительская папка / blog / также, похоже, совпадает. Я хочу, чтобы только страницы для одного / детей соответствовали.
Я попробовал несколько htaccess RewriteRules и протестировал их на сайте проверки регулярных выражений, а также на сайте соответствия htaccess.
Внутреннее перенаправление кода, приведенное ниже, похоже, работает на этих сайтах, но на моем локальном хосте оно также соответствует родительской странице.
RewriteRule ^blog/(.+)$ / [L,NC]
Это также соответствует родительской странице (/ blog /) и также возвращается на домашнюю страницу.
Однако, если я выполню это как фактическое перенаправление
RewriteRule ^blog/(.+)$ / [R,L,NC]
Работает как положено и работает только на детей. Единственная проблема заключается в том, что он удаляет существующий URL.
Я ожидал, что первый редирект сработает и перенаправит только дочерние страницы, но на самом деле он соответствует всем.
Добавление флага R и его фактическое перенаправление, кажется, работает.
Не уверен, что я что-то упустил?