Comment fixer la Réécriture d'URL pour les liens dans les fichiers CSS avec IIS7
Je suis en train de configurer un serveur proxy pour mes amis de retour à la maison. Je suis actuellement le tutoriel sur le site web (http://blogs.iis.net/carlosag/archive/2010/04/01/setting-up-a-reverse-proxy-using-iis-url-rewrite-and-arr.aspx) mais j'ai rencontré un problème étrange.
J'ai essayé de faire /pandora rediriger vers www.pandora.com mais les liens dans les fichiers CSS ne sont pas en train de changer. De plus, ils sont toujours liés à l'localhost/img/.. chemin. Ils doivent être redirigées vers le localhost/pandora/img/.. chemin.
sniplet à partir de la première page web
<link rel="shortcut icon" href="/pandora/favicon.ico" type="image/x-icon" />
<link rel="icon" type="image/ico" href="/pandora/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="css/compiled.css?v=95845013">
<link id="valanceStyle" rel="stylesheet" type="text/css" href="/pandora/static/valances/pandora/default/design.css"/>
Pouvez-vous les gars m'aider à résoudre ce problème?
OriginalL'auteur foobar | 2011-12-28
Vous devez vous connecter pour publier un commentaire.
Il est possible de le faire avec un sortant de la règle de réécriture en combinaison avec ARR. La règle suivante devrait le faire:
Vous devez bien sûr remplacer localhost par le bon nom de domaine. Si vous êtes à la réécriture à partir d'un nom de domaine différent alors le match de la balise doit contenir le nom de domaine que vous souhaitez remplacer, et l'action de la balise doit contenir le nom de domaine que vous souhaitez remplacer.
Que CSS n'est pas du HTML, vous ne pouvez pas utiliser la balise fonctionnalité de filtrage du module de réécriture d'URL. Donc, il ne peut le faire expression régulière correspondant à l'encontre de l'ensemble du contenu du fichier CSS qui peuvent potentiellement être de CPU sur de gros fichiers CSS. Si vous savez combien les URL doivent être remplacés, vous pouvez ajouter le
occurrences="x"
attribut à la<match>
balise de limiter le nombre de matchs le module de réécriture d'URL a chercher. Aussi essayez de déplacer les règles CSS en haut du fichier CSS. E. g.:Vous pouvez également activer le mode de mise en cache dans IIS et ajouter l'attribut
rewriteBeforeCache="yes"
à la<outboundRules>
balise pour permettre à IIS cache le nouveau contenu. E. g.:Plus d'informations utiles et des conseils sur les sortants des règles de réécriture peuvent être trouvés dans ce blog.
Cela devrait être dans
web.config
, dans le répertoire racine du site web.Il provoque un 500 server error. Le nœud qui dois-je le placer?
Le
<system.webServer>
nœud doit être un nœud enfant de la<configuration>
nœud.OriginalL'auteur Marco Miltenburg