2010-07-23 4 views
1

Хорошо, вот моя проблема и причина, по которой я хочу разбить файл .htaccess на две части:Возможно ли разбить файл .htaccess?

У меня есть локальная машина для разработки с окнами, а также тестовая и производительная система, работающая на одной машине на openSUSE. Это вызывает у меня некоторые проблемы:

  • я использую механизм Htaccess аутентификации, который должен быть абсолютный путь AuthUserFile
  • Я использую условие перезаписи для не WWW поддоменов на производительную систему
  • Я использую несколько методов кэширования на продуктивная система, которую я не хочу использовать на моей локальной системе
  • у меня есть какое-то IP обновления черного списка I на моей производственной системе

вся система, включая .htaccess является Stor ed и обновлен с помощью хранилища SVN. Поэтому каждое изменение для продуктивной системы, которое я должен сделать после обновления. Поэтому каждое новое обновление представляет собой слияние, которое иногда вызывает конфликт. Если я верну версию версии .htaccess из-за некоторых ошибок в .htaccess, это приведет к потере всех пользовательских изменений.

Итак, мой вопрос: могу ли я разбить файл .htaccess на несколько частей и включить их друг в друга. или возможно иметь другой вид конфигурационного файла apache (например, httpd.conf). Я также использую Plesk для управления доменами, и поскольку я не эксперт по linux, я бы предпочел решение без изменения конфигурационных файлов Plesk домена.

+0

Вы спрашиваете о директиве «Включить»? http://httpd.apache.org/docs/1.3/mod/core.html#include В чем ваш вопрос? –

+0

Да, ваш вопрос непонятен. –

+0

Предположим, что я хочу переместить auth и и кешировать файл .htaccess_prod, возможно ли использовать «Include» в .htaccess для включения файла .htaccess_prod в основной .htaccess? – 2ndkauboy

ответ

2

Если у вас есть полный контроль над обеими системами, используйте файл Apache httpd.conf. Он может обрабатывать все, что может быть .htaccess и многое другое, и предпочитается выше .htaccess для скорости и соображений безопасности.

Если по какой-то причине вам необходимо разделить настройки по нескольким файлам (например, некоторые настройки являются общими для систем и должны находиться под контролем версий, а другие нет), вы можете использовать директивы include в файле httpd.conf, например Говорит С.Лотт.

Если у вас не имеют контроль над httpd.conf в обеих системах, я не знаю, поддерживаются ли там директивы include; однако вы можете попытаться использовать условные блоки в файле htaccess, как описано here.

+0

Я бы пошел с условностями. Это то, что я сейчас делаю. Тем не менее, черный список IP-адресов в вашем файле .htaccess немного странный и громоздкий, без кау-мальчика? –

+0

Если у вас есть httpd.conf в вашей папке htdocs, будет ли он автоматически использоваться apache как .htaccess или php.ini, как правило, будет? – 2ndkauboy

+0

Нет, вам потребуется root-доступ к серверу, чтобы отредактировать ** server-wide ** httpd.conf. Если у вас есть доступ к вашей собственной папке htdocs, вы не можете использовать httpd.conf вообще, и вы должны использовать htaccess. Как было сказано, я не знаю, включит ли работа в htaccess, но вы можете попробовать поместить все в один файл и использовать два условных блока, один отладочный и один выпуск, который выбирается на основе переменной окружения или такой. – thomaspaulb

Смежные вопросы