IIRF

IIRF – Ionics Isapi Rewrite Filter – Home – è un efficente filtro ISAPI per il rewriting delle URL.

Aggiornamento: per utilizzare IIRF in IIS8 fare riferimento al seguente post IIRF per IIS 8.x

 

Di seguito alcune annotazioni relativamente all’utilizzo di IIRF 2.1 con IIS 7.5 in Windows Server 2008 R2.
Informazioni le regular espression utilizzate da IIRF Regular expression.

Nella versione 2 di IIRF il file con le istruzioni per il rewriting/redirect è chiamato iirf.ini e va sostituire il precedente IsapiRewrite.ini. Preferibilmente viene posto nella stessa directory del sito e/o applicazione consentendo una personalizzazone orientata alle specificità del sito stesso.

Esempi

Una possibile parte iniziale del file iirf.ini con le istruzioni di carattere generale relative a log files, status check, …

# iirf 2.1.2 in same dir as website
# EX IsapiRewrite4.ini 
#
# ini file for the ISAPI rewriter. 
# DATA ultima modifica  
# San, 26 jannuary 2013  09:50
#

#******************************************************************
# Introduction
#
# - do nothing 

#**********************************************************************
###   IMPOSTAZIONI GENERALI 
###
RewriteEngine ON

## RewriteLogLevel
# 0 - no logging
# 1 - log messages for ini file load and parse events, as well as error
# ... 1 to 5.  For troubleshooting, use LogLevel 5.
RewriteLogLevel 1
RewriteLog c:\inetpub\iirfLogs\iirflog

# Attention: in typical configurations, this works only when the request is made from localhost!
# StatusUrl /en/iirfStatus  # obsolete
StatusInquiry ON

# Interations allowed max 
IterationLimit 3

Redirect verso altro sito

RewriteCond %{HTTP_HOST} ^(.*)\.ascensit\.com$
RedirectRule ^/(.*)$ http://www.exadron.com/ [R=301]
RewriteCond %{HTTP_HOST} ^((.*)\.)ascensit\.(com|eu|biz)$
RedirectRule ^/(.*)$ http://www.exadron.com/ [R=301]

Redirect alla versione https ( protetta)  del sito.

RewriteCond %{HTTPS} ^off$
RewriteCond %{SERVER_PORT} ^80$
RedirectRule ^/([^\.\/]+)/Admin/(.*)$ https://%{HTTP_HOST}/$1/Admin/$2 [R=301]

RewriteCond con HTTP_URL

Un esempio in cui RewriteCond viene utilizzato anche per filtrare le HTTP_URL

RewriteCond %{HTTP_URL} (pb.aspx\?(.*)$
RewriteCond %{HTTP_URL} (pb.aspx\?(?!tab=)(.*))$
RewriteRule (.*)$ /404.aspx?err=gohome&errUrl=/$1 [L]

Don’t rewrite

Esempio di istruzione lascia passare per alcune tipologie di file che non vengono riscritte: non subiscono il rewriting

# Don't rewrite any request that ends with one of these extensions 
RewriteRule ^/(.*\.(js|ico|gif|jpg|png|css|pdf|zip))$ - [L]

Rewrite

Esempio di rewriting per un website url-less

#
RewriteRule ^/([^\.\/]+)/([^\.\/]+)/([^\.\/]+)/(|\d\d\d\d)/?$  /$1/aweb.aspx?tab=$2&pgg=$3&tti=$4  [L]   
#
RewriteRule ^/([^\.\/]+)/([^\.\/]+)/([^\.\/]+)/?$ /$1/aweb.aspx?tab=$2&pgg=$3 [L]
# 
RewriteRule ^/([^\.\/]+)/([^\.\/]+)/?$ /$1/aweb.aspx?tab=$2 [L]

oppure con esclusione parte di url

#
RewriteRule ^(?!new+)([^\.\/]+)/([^\.\/]+)/?$ /pbi.aspx?tab=$1&pg=$2 [L]

FLAGS:

Ogni riga in gene termina con uno uo più flag che forniscono ulteriori informazioni a IIRF sul comportamento da tenere nell’elaborazione del pattern

  • L = se il pattern viene riscontrato termina l’elaborazione di IIRF che di default è ricorsiva.
  • R o R=code = Redireziona
  • NF = Not Found – Non trovato viene ritornato il codice 404
  • F  = Forbidden – Ritorna il codice di errore 403
  • I  = Nell’elaboraizone del pattern si trascurano le maiuscole minuscole
  • U  = viene memorizzato url nella server Variable HTTP_X_REWR

Alcuni esempi di patterns:

  • [[L]
  • [R=301]
  • [R,I]
  • [NF]

Risorse:

Annunci

Certificato per IIS e

Come richiedere un certificato per IIS

windows sever 2000

1. Sul sito dove si vuole instllare il certificato andare sulle properties/directory security
2. Da Secure communications cliccare su Server Certificate..
3. Selezionare Create a new certificate…alla fine del processo verr? creato il file “certreq.txt”

Aprire http://localhost/certsrv

1. .Request a certificate
2. .Advanced request
3. .Submit a certificate request using a base64 encoded…
4. .Copiare il contenuto del file “certreq.txt” creato da IIS nella prima box
5. .Dalla Certification Authority andare su Pending Requests, selezionareil certificato ? selezionare dal men? contestuale la task ISSUE

1. .Ritorare su http://localhost/certsrv e selezionare Check on a pending certificate
2. .Selezionare Download CA certificate e salvare il file “certnew.cer”

Come installare il certificato su IIS

1. .Ritornare su IIS sul sito dove instllare il certificato andare su properties/directory security
2. .Selezionare Process the pending request
3. .Selezionare il certificato salvato al precedente punto 7

A questo punto il certificato è installato