2016-03-13 6 views
1

У меня есть подпапка с файлами php.Включить вложенную папку с .htaccess

Как это: domain.com/subfolder/file.php

Было бы очень полезно, чтобы назвать файлы PHP, как если бы они были в корневой папке, не обращая внимания на существующие корневые файлы.

Есть ли способ включить подпапку и все ее содержимое через .htaccess?

ответ

1

Вы можете использовать следующее правило в корневой/.htaccess:

RewriteEngine on 


#1--If the request is not for an existent root directory--# 
RewriteCond %{REQUEST_FILENAME} !-d 
#2--And the request is not for an existent root file--# 
RewriteCond %{REQUEST_FILENAME} !-d 
#3--Then, rewrite the request to "/subfolder"--# 
RewriteRule ^([^/]+)/?$ /subfolder/$1 [NC,L] 

Переоценка вышеизложенного важна, чтобы избежать перезаписи корневой папки и файлов в/подпапку.

Или попробуйте это:

RewriteEngine on 
#--if /document_root/subfolder/foo is an existent dir--# 
RewriteCond %{DOCUMENT_ROOT}/subfolder/$1 -d [OR] 
#--OR /document_root/subfolder/foo is an existent file--# 
RewriteCond %{DOCUMENT_ROOT}/subfolder/$1 -f 
#--rewrite "/foo" to "/subfolder/foo--# 
RewriteRule ^(.+)$ /subfolder/$1 [NC,L] 
+0

Второй вариант работает! Как добавить дополнительные папки? Копирование и вставка тех же переписаний будет делать, или это может стать узким местом для сервера? –

1

Как насчет чего-то подобного?

RewriteRule ^subfolder/(.*)$ $1 

Это должно помочь я думаю

PS Пожалуйста, убедитесь, что модуль Apache переписывают включен и превратился не в файле .htaccess