je la règle suivanteIIS règle de réécriture pour dialogue Partager Facebook ne fonctionne pas
<rule name="SEO" enabled="true" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAny">
<add input="{HTTP_USER_AGENT}" pattern="(facebookexternalhit)|(facebook)|(Twitterbot)|(Pinterest)" />
<add input="{QUERY_STRING}" pattern=".*escaped_fragment_=(.*)" />
</conditions>
<action type="Rewrite" url="http://localhost:8004/{URL}" />
</rule>
de mon AngularJS application hébergé sur IIS (Windows Server 2012).
Mon application utilise la html5Mode
$locationProvider.html5Mode().enabled = true;
et le port 8004
est ouvert (je désactivé le pare-feu Windows pour un certain temps pour vérifier si mon scénario fonctionne)
Le scenrio est facile. Quand quelqu'un veut partager ma AngularJS
page via facebook
, la demande sera redirigée le port, whene le PhantomJS
est en écoute (pour rendre la page)
Mais le problème est que je ne peux voir l'erreur 404 de la part boîte, et aucune demande est lues par le script PhantomJS (je ne vois rien dans la fenêtre de la console)
var system = require('system');
var server = require('webserver').create();
server.listen(port, function (request, response) {
console.log(JSON.stringify(request, null, 4));
});
il semble donc que la règle de réécriture ne fonctionne pas (c'est mon estimation). Si je vais juste au http://localhost:8004/
, je peux voir la page rendue et le journal de phantomJS dans la fenêtre de console (ainsi cela fonctionne)
Avez-vous utilisé l'outil de débogage de FB effacer le cache? – CBroe