Я давно искал, но не смог найти ничего похожего. У меня есть сайт с разнообразной структурой URL. Некоторые из URL-адресов root, некоторые другие имеют различные папки и пути. Теперь мне нужно иметь возможность перенаправить все пути из root в другую папку, но сохранить другую структуру для файлов из других папок
Например, этот шаблон:
В этом примере mypage
и mysecondpage
- переменные, которые должны быть переданы в место назначения.
Но для страниц, приходящих из другой папки в root, мне нужен еще один шаблон в месте назначения. Например:
/somerootfolder/somepage
следует перенаправить на someotherfolder/somepage.php
В этом примере somepage
является шаблоном, который должен пройти к месту назначения.
Второй тип перенаправления не должен изменять первый и наоборот.
То, что я сделал для первой директивы (любые файлы в root, но только в root должны перенаправлять в другую папку) is:
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule (.*) /foldername/$1/content.php [L]
... где $1
равно названию от (.*)
. И это само по себе работает очень хорошо, удерживая старый URL, но получая содержимое из другой папки.
Для второй директивы (файлы из папки в другую папку с именем и добавлением расширения) я сделал:
RewriteRule ^foldername/(.*) /anotherfolder/$1.php [L]
... где $1
равно (.*)
. И все внутри foldername
сохраняет свой старый URL, но получает содержимое от anotherfolder
.
Все работает отдельно, но не вместе. Есть идеи?