Я установил Apache в Windows. В моем файле httpd.conf я установил для AllowOverrides значение All. Я поместил файл .htaccess в свой каталог DocumentRoot, но он не читается. Я знаю, что он не читается, потому что, если я добавляю содержимое непосредственно в свой файл httpd.conf, оно читается. Что еще мне не хватает?
Проверьте свой httpd.conf, чтобы убедиться, что AccessFileName директива установлена на .htaccess
одна вещь, которую вам не хватает, - это то, что гораздо лучше поместить такие правила в httpd.conf, а не в .htaccess. сервер должен искать, открывать и читать файлы .htaccess в текущем каталоге и в каждом родительском каталоге до DocRoot - это дополнительная работа. небольшой объем дополнительной работы, но она складывается, когда выполняется по каждому запросу.
Лучшее практическое правило - использовать .htaccess только тогда, когда у вас НЕТ доступа на запись в httpd.conf. в противном случае полностью отключите htaccess и поместите всю свою конфигурацию в httpd.conf.
Какая версия винды?
По крайней мере, в Windows XP .htaccess
недопустимое имя файла, потому что оно начинается с символа "."
Убедитесь, что директивы, которые вы пытаетесь поместить в файл .htaccess, действительны в пределах .htaccess. контекст. Перейти к Краткое руководство по директиве Apache 2.2 page и убедитесь, что каждая из директив, которую вы хотите поместить в .htaccess, действительна в этом контексте. Я подозреваю, что вы пытаетесь использовать директиву, недействительную в .htaccess, поэтому она работает, когда вы помещаете ее в httpd.conf.