В принципе, я работаю над сайтом, который живет в каталоге на другом сайте, то есть у меня нет доступа к файлам хоста. Я пытаюсь подражать обычной структуре сайта public_html
и private
папкам.Rewrite в подкаталог с поддержкой MVC
Для этого нужен mydir
каталог для перенаправления на public
.
Мне также нужно это для поддержки архитектуры MVC.
я в настоящее время следующие:
Внутри mydir
каталоге:
RewriteEngine on
RewriteBase /mydir/public/
RewriteRule ^((?!public/).*)$ /mydir/public/$1 [L,NC]
Внутри public
каталоге:
RewriteEngine on
RewriteBase /public/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^([^?]*)$ /mydir/public/index.php?path=$1 [NC,L,QSA]
По большей части это работает отлично, однако у меня есть повторяющиеся каталоги.
, например. /mydir/
- то же, что и /mydir/public
.
В случае, если я объяснил это плохо, вот несколько примеров того, что я пытаюсь сделать:
/mydir/index.php
->/mydir/
/mydir/blog/
->/mydir/public/blog/
Вы говорите о '' main' и public' каталогов, но как насчет 'mydir' каталога? Во всяком случае, вы можете делать то, что хотите, только с одним правилом в htaccess основного каталога (другие становятся бесполезными) –
Извините, не значит для этого. Кроме того, как я могу это сделать? – Braden1996
Принимая во внимание ваш комментарий, решение должно состоять только в htaccess в 'mydir' с этим правилом:' RewriteCond% {REQUEST_FILENAME}! -f RewriteRule^(. *) $ /mydir/public/index.php?path = $ 1 [NC, L, QSA] ' –