Можно поместить LDAP в машину, где некоторые другие сервисы доступны: не требуется большого количества RAM, ни ЦП. Можно аутентифицировать пользователей, настроить почтовый сервер, чтобы использовать его с совместным использованием списка в почтовых клиентах, и даже использовать его для хранения записей DNS. Можно аутентифицировать пользователей на веб-сайтах также. Если они изменяют свой пароль, все Ваши приложения имеют новый пароль.
Это поддерживает контроль, ACL и большую оптимизацию. LDAP является очень хорошим для чтения и немного медленным в письменной форме, но на фактических аппаратных средствах, нет никакой проблемы.
Просто думайте: сделайте резервные копии, для перезапуска инфраструктуры, если каталог LDAP понижается...
Решено. И нет, спасибо GoDaddy за то, что заставил вас платить за доступ к журналам ошибок!
Все это стало иметь смысл, когда я увидел чужие журналы . Теперь мне ясно, как происходит рекурсия и почему все переписывается во второй раз (и бесконечно рекурсивно, вызывая 500). Есть отличное решение проблемы рекурсии здесь (через ответ пользователя serverfault Дэйва Драгера на аналогичный вопрос)
Я немного упростил и пришел к такому решению:
RewriteEngine на
Параметры FollowSymLinks
RewriteCond% {ENV: REDIRECT_X} = ""
RewriteCond% {HTTP_HOST} b.com $ [NC]
RewriteRule ^ (. *) $ B_site / $ 1 [E = X: 1, L]
Я построил тестовый сервер, прочитал документацию и начал с пустой страницы.
Следующие модули являются обязательными:
Затем я закомментировал все оставшиеся модули и перезапустил Apache. Он будет звучать, если что-то сломается, например:
Starting httpd: Syntax error on line 10 of /etc/httpd/conf.d/squid.conf:
Invalid command 'order', perhaps misspelled or defined by a module not included in the server configuration
Сделайте то же самое с другими модулями. Используя этот метод, вот некоторые модули, которые часто не необходимы: оба устанавливают контекст для RewriteRule
на /
; это означает, что ваша подстановка примет запрос на http://b.com/dir_a/page.html
и будет обслуживать его с http://b.com/b_sitedir_a/page.html
- вероятно, не сработает.
При использовании механизма перезаписи в файлах .htaccess префикс каждого каталога (который всегда одинаков для определенного каталога) устанавливается автоматически удаляется для сопоставления с образцом RewriteRule и автоматически добавляется после того, как любая относительная (не начинающаяся с косой черты или имени протокола) подстановка встречает конец набора правил.
Попробуйте следующее:
RewriteCond %{HTTP_HOST} ^b\.com$ [NC]
RewriteRule ^(.*)$ b_site/$1