2009-02-25 6 views

Répondre

1

Après de longues épreuves pénibles Mon conseil à tous ceux qui utilise l'URL Rewriting avec IIS 7 en mode intégré, arrêtez de perdre votre temps et soit utiliser le routage MVC ou oublier arabe Strings dans l'URL

3

Si vous avez installé .NET 3.5 SP1, je vous recommande de passer à System.Web.Routing au lieu de la bibliothèque UrlRewriting.net. Je suis récemment passé de UrlRewriting.net à System.Web.Routing moi-même et le routage est tellement mieux pensé et mieux intégré avec le pipeline ASP.NET.

Si vous avez la possibilité de passer, je le recommande. Si ce n'est pas le cas, veuillez publier votre fichier de configuration UrlRewriting.net afin que nous puissions modifier les expressions régulières qui ne fonctionnent apparemment pas. Veuillez poster quelques exemples d'URI qui ne fonctionnent pas aussi.

En outre, ce sont les valeurs définies dans la section web.config:

<system.web> 
    <globalization requestEncoding="utf-8" 
       responseEncoding="utf-8" 
       fileEncoding="utf-8" /> 
</system.web> 

Comme dans l'exemple ci-dessus, utilisez UTF-8. Veillez également à encoder les caractères en UTF-8 dans l'URI.

0

il semble que je l'ai résolu le problème en faisant en sorte que les deux pages, celui qui contient le lien et celui pour analyser la chaîne de requête ont encodage UTF-8

mais maintenant j'eu un autre problème Firefox affiche le lien hyper et le lien dans la barre d'adresse correctement mais dans IE6 et IE7, il est comme ça

mysite/News/2008/10/10/%D8%AA%D8%AC%D8%B1%D8%A8%D8%A9.aspx 

même si IE 6 et 7 analysent le bon lien, mais ce qui est laid, quelle est la solution s'il vous plaît?

0

Mise à jour: l'homme que vous ne croirez pas, je l'ai trouvé le problème, il est si étrange, il est avec IIS 7 mode intégré, essayez de lancer votre page du studio visuel serveur Dev et Unicode seront analysés seulement bien, mais si vous lancez la page à partir de IIS 7, il vous donnera le ???? personnages.

espère que certains corps ombre un peu de lumière ici

1

Qu'est-ce qui se passe lorsque vous exécutez l'application IIS 7 en mode « Classic » (peut nécessiter l'installation d'une option disponible)?

+0

fonctionne en mode classique, i ont essayé toutes les URL méthode Réécriture là en utilisant commercial et libre et j'ai terminé MVC et le creusement de fossés l'ensemble du modèle de formulaires Web, maintenant tout fonctionne très bien :) – DevMania

1

Essayez cela, il est plus rapide .. et problèmes gratuits.

"~/News/2008/10/10/newsid/تجربة. Aspx" où newsid est l'ID de votre article.

Obtenez votre titre de la base de données: 'select * from nouvelles où id =' & newsid Il est beaucoup plus rapide que: "select * from nouvelles où title = '" & titre & "'"

+0

merci beaucoup l'homme pour la bonne astuce, mais sérieusement j'ai oublié les formulaires web et avec MVC tout est si lisse – DevMania

-1

vous peut utiliser ->Server.UrlEncode (productName) dans global.aspx ou avant de réécrire puis utilisez Server.UrlDecode (Request.QueryString ["productName"]); dans PageLoad

Questions connexes