2016-04-19 9 views
0

Ich habe getestet Reppy mit google.com.robots.txt, aber mit bestimmten Einträgen ging es ein bisschen eigensinnig.Reppy Verhalten seltsam mit bestimmten Einträgen

Unten sind die:
Disallow: /alerts/, muss hier ein False erhalten.
Allow: /alerts/$, muss hier ein True erhalten.

Ich bekomme True für den 1. und False für den 2. Eintrag. Während, habe ich korrekte Ergebnisse mit dem Rest der Einträge.

Ich wäre dankbar, wenn mir jemand einen Hinweis gibt, wo ich nachsehen kann, um dies zu korrigieren.

Antwort

0

Die $ ist kein Literal $, es bedeutet "Ende der URL".

Werfen Sie einen Blick auf this documentation:

Google, Bing, Yahoo, und stellen Sie eine begrenzte Form von "Platzhalter" für Pfadwerte unterstützen. Diese sind:

  • * bezeichnet 0 oder mehrere Instanzen eines gültigen Zeichen
  • $ bezeichnet das Ende der URL

Also diese Regeln:

Allow: /alerts/manage 
Allow: /alerts/remove 
Disallow: /alerts/ 
Allow: /alerts/$ 

Bedeuten, dass Sie können auf /alerts/manage, /alerts/remove undzugreifen, aber kein anderes Kind von /alerts/ (z.B. /alerts/foo). So sind die Ergebnisse, die Sie sehen, sind genau:

Dies gibt true zurück, weil es Allow: /alerts/$ Spiele:

>>> rules.allowed('/alerts/', 't') 
True 

Dies gibt falsch, weil es Disallow: /alerts/ Spiele:

>>> rules.allowed('/alerts/$', 't') 
False 
+0

Thank you! Völlig verstanden, dass. – abT