Мне было интересно, можно ли написать какую-нибудь страницу .htaccess, которая заставляет сервер использовать файл index.php в ОДНОМ каталоге в качестве индексного файла для каждого каталога / подкаталога на моем сервере, вместо того, чтобы размещать точно такой же индекс. php в более чем 200 каталогах. Если мое описание неясно, я имею в виду, по сути, следующее: /files/index.php должен использоваться в качестве индекса, например, для / files / morefiles, а также индекса для всех каталогов и подкаталогов внутри / files /, даже если сами эти каталоги не имеют индексного файла. Заранее всем спасибо.
РЕДАКТИРОВАТЬ: файл php генерирует другой вывод в зависимости от каталога; Чтобы быть конкретным, он перечисляет содержимое текущего каталога, если установлен определенный файл cookie. Так что, к сожалению, перезапись URL не работает.
Самым простым будет простой .htaccess в 'основном' каталоге:
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(*.)$ index.php [QSA]
RewriteRule (^|/)?index.php index.php [QSA]
Если вам нужно переключить рабочий каталог, в index.php:
<?php
chdir(realpath(dirname($_SERVER['DOCUMENT_ROOT'].parse_url($_SERVER['REQUEST_URI'],PHP_URL_PATH))));
?>
Возможно, с некоторыми проверками, находитесь ли вы все еще в каталоге you / files или ниже.
Просто переписать каждый путь, который заканчивается /
в index.php.
Что-то такое:
RewriteBase /files
RewriteRule /$ index.php