Другим решением является выделение виртуального хоста для вашего субдомена (что должно произойти, если не возникнет много проблем), и этот VirtualHost игнорирует инструкции .htaccess главного домена. Вы действительно должны стараться, чтобы конфигурация вашего субдомена не зависела от конфигурации домена главного домена.
Допустим, ваш documentRoot в поддомене VH равен /home/username/public_html/sub/
, когда Apache обслуживает файл index.php или index.html или что-либо еще в этой директории, он выполняет рекурсивный поиск всех .htaccess в /home/username/public_html/sub/
, * 1005. *, /home/username/
, /home/
и /
. Таким образом, применяются правила, определенные в вашем основном домене (я думаю, что в /home/username/public_html/
).
Вы можете указать этому поддомену VirtualHost игнорировать все файлы .htaccess, которые находятся до VH DocumentRoot, добавив:
<Directory />
AllowOverride None
</Directory>
<Directory /home/username/public_html/sub/>
AllowOverride All
</Directory>
Вы можете даже удалить AllowOverride All
, удалить все .htaccess и поместить вещи, которые есть в .htaccess вашего субдомена (если он у вас есть), прямо в раздел <Directory /home/username/public_html/sub/>
, тот же эффект без поиска Apache для поиска. части конфигурации в файловой системе (так быстрее).