Я пытаюсь использовать базовую аутентификацию .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.
Так основные вопросы:
- Как я могу сделать эту работу?
- Почему он не работает, как есть? Почему мне нужно исключить каталог/admin?
И наконец, решение, которое работает, большое спасибо за размещение решения. – CroiOS