Если вам не придется часто менять свои правила, вы должны поместить их в httpd.conf и отключить переопределение в верхнем каталоге, к которому применяются ваши правила.
AllowOverride None
Без переопределения ваш apache не будет сканировать каждый каталог на наличие файлов .htaccess, что снижает накладные расходы для каждого запроса.
Всякий раз, когда вам нужно изменить свои правила, вам придется перезапустить сервер apache, если вы поместите его в свой httpd.conf, в отличие от того, что они мгновенно обнаруживаются в файлах .htaccess, потому что он читает их все при каждом запросе.
Вы можете легко сделать это с помощью плавного перезапуска с помощью инструмента apachectl, чтобы избежать прерывания любых текущих обслуживаемых запросов.
apachectl graceful
Если вы не собираетесь отключать переопределение, вы можете просто использовать только .htaccess.
Редактировать в ответ на ваше редактирование:
Допустим, у вас есть запрос на www.example.com/dir1/dir2/dir3/file.
Apache будет искать файл .htaccess во всех трех этих каталогах и корневой каталог для правил, применяемых к запросу, если у вас разрешено переопределение.
person
Mike
schedule
11.11.2009