2016-10-19 3 views
0

J'ai un url qui a ./ [période & barre oblique] à la fin du paramètre. Je veux rediriger cette URL avec un emplacement différent, mais ce n'est même pas détecter dans les règles. J'utilise IIS. Je veux configurer cela sur web.configRediriger avec bypass ayant point (point) et barre oblique dans l'URL

http://somesitename.com/mypage/teachers-manual./sku/8772 

besoins de rediriger sur

http://somesitename.com/mypage/teachers-manual/sku/8772 

Bien que je l'ai essayé la solution donnée sur Here mais son même pas travailler. Mais si j'utilise la même chose au lieu de Rediriger avec Réécrire puis Règle commencer à travailler. Je ne sais pas pourquoi cela ne fonctionne pas pour "Redirect".

<rule name="Trailing Dots and spaces" stopProcessing="true"> 
<match url="^mypage\/(.*)([\.\s]+)\/(.*)" /> 
<conditions> 
    <add input="{HTTPS}" pattern="off" ignoreCase="true" /> 
</conditions> 
<action type="Rewrite" url="/index.cfm/{R:1}/{R:2}/{R:4}" appendQueryString="true" /> 
</rule> 

En fait, quand j'ai essayé d'écrire alors la règle url qui est également ayant ./ ne fonctionne pas. [http://somesitename.com/mypage/teachers-manual./sku/8772]

<rule name="Trailing Dots and spaces1.1" stopProcessing="true"> 
<match url="^(.*)" /> 
    <conditions> 
    <add input="{HTTPS}" pattern="off" ignoreCase="true" /> 
    </conditions> 
    <action type="Redirect" url="http://somesitename.com/newpage.html" /> 
</rule> 

Je ne sais pas où son mal.

+0

Pour une différence entre Réécriture de Redirect, voir https://forums.iis.net/t/1174487.aspx?How+does+URL+Rewrite+differ+from+HTTP+Redirect+ – Simon

+0

Merci pour l'information mais la solution est en attente. – Manish

+0

Avez-vous vérifié le filtrage des requêtes pour ''? https://www.iis.net/learn/manage/configuring-security/use-request-filtering – Simon

Répondre

0

Juste obtenu plus d'informations sur Post & Haacked Dit pour cela. donc j'ai modifié le fichier comme suit et maintenant il fonctionne parfaitement pour moi.

<configuration> 
    <system.web> 
     <httpRuntime relaxedUrlToFileSystemMapping="true" /> 
    </system.web> 
    <system.webServer> 
    <rewrite> 
    <rules> 
    <rule name="Trailing Dots and spaces1.1" stopProcessing="true"> 
     <match url="^(.*)/(.*)\.\/(.*)" /> 
     <conditions> 
      <add input="{HTTPS}" pattern="off" ignoreCase="true" /> 
      <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
      <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
     </conditions> 
     <action type="Redirect" url="/{R:1}/{R:2}/{R:3}" appendQueryString="false" redirectType="Permanent" /> 
    </rule> 
    </rules> 
.... etc