2017-09-23 2 views
0

J'ai une URL qui ressemble àIIS réécriture de règle pour la chaîne de requête

https://thesite.com/m/?pageName=profileSettings#notifications 

je dois réécrire à

https://thesite.com/m/?pageName=notificationSettings 

J'essaie quelque chose comme

  <rule name="m_notifications" stopProcessing="true"> 
       <match url="^m/(.*)" /> 
       <conditions> 
        <add input="{QUERY_STRING}" pattern="pageName=profileSettings#notifications" /> 
       </conditions> 
       <action type="Rewrite" url="pageName=notificationSettings" appendQueryString="False"/> 
      </rule> 

Cette ne fonctionne pas, pas d'erreurs, ne fait pas de changements. Qu'est-ce que je rate?

Merci

Répondre

1

Il est impossible de faire une ré-écriture en fonction de la chaîne de hachage. Le navigateur ne transmet pas la partie après le hachage au serveur.

Il est appelé Fragment identifier et est côté client uniquement. Ce n'est pas possible dans n'importe quelle langue sauf si vous utilisez une implémentation de navigateur (ou un logiciel) qui enverrait cette partie de l'URL au serveur.

+0

Eh bien cela répond pourquoi cela ne fonctionnerait pas. Merci d'avoir répondu. Au moins, je sais que je ne deviens pas fou. –