Одинаковый индекс для всех (под) каталогов?

Мне было интересно, можно ли написать какую-то страницу.htaccess, которая заставляет сервер использовать файл index.php в каталоге SINGLE в качестве файла индекса для каждого каталога / подкаталога на моем сервере, вместо размещения одного и того же индекса. PHP в 200+ каталогов. Если мое описание неясно, я имею в виду следующее: /files/index.php должен использоваться в качестве индекса, например, /files/morefiles, а также индекса для всех каталогов и подкаталогов в /files/, даже если эти каталоги сами не будут иметь индексный файл. Спасибо всем заранее.

РЕДАКТИРОВАТЬ: файл php генерирует различные выходные данные в зависимости от каталога; Чтобы быть конкретным, он перечисляет содержимое текущего каталога, если установлен определенный файл cookie. Так что, к сожалению, перезапись URL не будет работать.

2 ответа

Решение

Просто перепишите каждый путь, который заканчивается / к index.php.

Что-то вроде того:

RewriteBase /files
RewriteRule /$ index.php

Самым простым будет простой.htaccess в 'main' директории:

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 или ниже.

Другие вопросы по тегам