2012-06-15 2 views
2

Я пытаюсь использовать базовую аутентификацию .htaccess в подкаталоге корня, где установлен Wordpress. Проблема такая же, как у this question. Корневой файл .htaccess, который Wordpress использует для постоянных ссылок, не очень хорошо работает с файлом .htaccess, который у меня есть в подкаталоге, требующем проверки подлинности..htaccess auth files with wordpress

Однако решение не работает, и даже если это так, я не могу использовать это решение. Это связано с тем, что генерация htaccess Wordpress перезаписывает все, что я помещал в этом разделе.

Что порождает это:

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

И то, что я хотел бы придерживаться в этом списке RewriteCond является

RewriteCond %{REQUEST_URI} !(^/admin(/.*)?$) 

Переход к http://www.example.com/admin следует использовать файл .htaccess в этой директории для аутентификации пользователь. например:

AuthName "Admin Area" 
AuthType Basic 
AuthUserFile "/home/.htpasswd" 
AuthGroupFile "/home/.htgroups" 
require valid-user 

Переход к http://www.example.com/anywhereelse должен перенаправить на index.php

Как это, я не могу даже получить RewriteCond, показанный здесь, чтобы работать. Он всегда показывает страницу 404 при входе в каталог/admin, если я не удалю строку require valid-user из файла admin .htaccess. Следует отметить, что на этой странице 404 ответ по-прежнему содержит заголовок WWW-Authenticate.

Так основные вопросы:

  1. Как я могу сделать эту работу?
  2. Почему он не работает, как есть? Почему мне нужно исключить каталог/admin?

ответ

2

Я нашел решение here. Добавление

ErrorDocument 401 default 

к файлу .htaccess корневой за пределами участка, который редактирует Wordpress, кажется, исправили проблему. Я не уверен, что это лучший вариант. Если есть какие-то лучшие решения, не стесняйтесь публиковать их.

+0

И наконец, решение, которое работает, большое спасибо за размещение решения. – CroiOS