2013-05-17 3 views
1

Я хочу защитить определенные файлы, от которых я до сих пор работаю из незащищенного доступа, поэтому я предположил, что я просто использую идентификатор в своем имени файла, например «_temp», и защищаю все URL-адреса для этого Htaccess.Защита паролем по совпадению

Использование этого с FileMatch для файлов является приятным, но я также уже написал несколько htaccess-строк, поэтому параметр GET-сайта становится субдоменом. И субдомены не являются файлами, поэтому FileMatch не существует. Кроме того, я заметил, _ не представляется действительным для поддомена ^^ так «температура» должно быть достаточно ...

Тогда я использовал SetEnvIf, но это либо ничего или все не защищает в любом случае. Можете ли вы сказать мне, что я сделал не так?

SetEnvIf HOST .*temp.* notallowed 
SetEnvIf Request_URI .*temp.* notallowed 

AuthType Basic 
AuthName "Under construction" 
AuthUserFile /home/auth/.htpasswd 
AuthGroupFile /home/auth/.htgroup 

Order Deny,Allow 
Satisfy any 
Deny from env=notallowed 
Require user qwerty 
Allow from all 

Это должно дать мне пароль-приглашение на huitemp.mysite.de, hui.mysite.de/huitemp.php и hui.mysite.de/?site=huitemp, но не на hui.mysite.de ,

PS, я нашел этот пост: Password protect a cname subdomain with .htaccess? Но это своего рода противоположность я хочу сделать и топ-пример не действительно работает для меня (как автор уже сказал).

ответ

1

Попытка отрицать со всего первого, то позвольте с notallowed:

SetEnvIf HOST .*temp.* notallowed=true 
SetEnvIf Request_URI .*temp.* notallowed=true 

AuthType Basic 
AuthName "Under construction" 
AuthUserFile /home/auth/.htpasswd 
AuthGroupFile /home/auth/.htgroup 

Order Deny,Allow 
Deny from all 
Satisfy any 
Require user qwerty 
Allow from env=!notallowed 
+0

хорошо, это блокирует все сайты, независимо содержащий темп или нет. Имеет ли значение, есть ли RewriteCond и RewriteRules в конце .htaccess? – Julian

+0

@Julian не имеет значения, есть ли у вас правила, если правила не меняют URI на «temp» или какой-либо другой тип контроля доступа (например, с помощью флага 'F'). –

+0

Ну, они меняют сайт. Я перенаправляю субдомен, чтобы стать параметром index.php и изменять отображение, поэтому этот параметр всегда отображается как субдомен. но я не использую F-Flag, ohne 'L',' R', 'NC' и' QSA' ... Ах, я чувствую себя настолько тупым ... конечно, я сменил сайт на «mysite», но исходное имя включает temp ^^ так, с _temp он, возможно, сработал, но как _ не разрешено ... Я использовал другую фразу, и теперь она работает ^^ еще раз спасибо! – Julian

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