.htaccess перенаправить на / страниц, если не индекс

Я использую роутер PHP (AltoRouter), который позволяет мне определять маршруты любым способом, но не выполняет никакого перенаправления.

Я хочу, чтобы мой маршрут «/» оставался без изменений.

Но если кто-то переходит к чему-то другому, кроме ‘/’, у меня есть маршрутный символ, который берет имя этого маршрута, находит файл ветки и отображает его на основе имени. Так что «/ о» будет найти about.twig и сделать это.

Чего я хочу добиться, так это если кто-то перейдет к «/ about» или «/ contact» и т. Д., То они будут перенаправлены на «/ pages / about», «/ pages / contact» и т. Д., Но если они перейдите к «/ pages / about» напрямую, тогда нет необходимости перенаправлять маршрут.

Мой текущий файл .htaccess выглядит так:

RewriteEngine on
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]

К сожалению, я много раз искал и не нашел, как выполнить конкретный условный повторный маршрут / перенаправление. Особенно не тот, который оставил корень «/» в покое.

Постскриптум pages на самом деле это не каталог на сервере. Я просто хочу вставить «страницы» перед именем страницы.

0

Решение

Попробуйте добавить это сразу после RewriteEngine on:

RewriteCond %{REQUEST_URI} !=/
RewriteCond %{REQUEST_URI} !^/pages/
RewriteCond %{REQUEST_URI} !^/index.php
RewriteRule (.*) /pages/$1 [R,L]
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector