.htaccess: Аутентификация И Перенаправление - PullRequest
1 голос
/ 15 февраля 2012

Я пытаюсь перенаправить один из моих доменов на другой, используя .htaccess:

RewriteEngine on
RewriteRule !^admin($|/) http://mydomain.com%{REQUEST_URI} [L,R=301]

Как видите, я не хочу перенаправлять данную папку ("admin"), потому что в этом каталоге действительно есть содержимое.

Проблема в том, что у меня есть другой .htaccess в этом каталоге с этим кодом:

AuthName "You must login"
AuthUserFile /path/to/.htpasswd
AuthType Basic
require valid-user

Когда я захожу в папку без перенаправления в моем браузере, она перенаправляет на страницу 401.html на mydomain.com.

Как мне это исправить? Я хочу перенаправить все на mydomain.com, кроме каталога "admin", для которого требуется авторизация.

Ответы [ 2 ]

0 голосов
/ 08 февраля 2018

Ловушка для неосторожных заключается в том, что ваш браузер, вероятно, кэширует ваши перенаправления во время тестирования.Поэтому при тестировании удалите 301 из R = 301, чтобы оставить флаг R. Сам по себе.

Таким образом:

RewriteRule !^admin($|/) http://example.com%{REQUEST_URI} [L,R]

Как только вы довольны работой вашего перенаправления htaccess, измените Rустановите флажок R = 301 (постоянное перенаправление).

Если вы использовали R = 301, очистите кеш браузера.

0 голосов
/ 09 августа 2012

Найдите R=401 или ErrorDocument 401 в файлах конфигурации для вашего первого домена. Что-то настраивает пользовательскую страницу 401, которая затем соответствует вашему правилу перезаписи, и он перенаправляет браузер на mydomain.com.

...