2017-03-19 4 views
0

Je suis nouveau à IIS et essayer de traduire en elle la règle Apache suivante:URL de réécriture IIS à partir de .htaccess: correspond à tous les fichiers et dossiers commençant par. et refuser l'accès

# prevent httpd from serving dotfiles (.htaccess, .svn, .git, etc.) 
# - except let's encrypt challenge 
RedirectMatch 403 ^/?\.(?!/well-known/acme-challenge/[\w-]{43}$) 

RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$ 
RewriteRule ^(.*) - [E=BASE:%1] 

L'idée de la règle est d'éviter IIS de servir:

  • Tout fichier que commence avec « », ou

  • Tout dossier qui commence par « » mais le dossier « ./well-known/acme-challenge »

Merci à l'avance;)

Répondre

0

Il Semble [E = BASE:% 1] ne peuvent pas être traduits dans IIS

la 1ère partie

# prevent httpd from serving dotfiles (.htaccess, .svn, .git, etc.) 
# - except let's encrypt challenge 
RedirectMatch 403 ^/?\.(?!/well-known/acme-challenge/[\w-]{43}$) 

cela traduit sur web.config comme

<rule name="Deny files and folderd starting with . but allow folder .well-known" patternSyntax="ECMAScript" stopProcessing="true"> 
    <match url="(^\.|\/\.(?!well-known))" ignoreCase="true" negate="false" /> 
    <conditions logicalGrouping="MatchAll"> 
    </conditions> 
    <action type="AbortRequest" /> 
</rule> 

Espérons que cela aide les autres ^^