Δημιουργία sitemap on the fly

ψήφοι
4

Προσπαθώ να δημιουργήσει ένα sitemap.xml on the fly για μια συγκεκριμένη ιστοσελίδα asp.net.

Βρήκα ένα ζευγάρι λύσεις:

  1. chinookwebs
  2. cervoproject
  3. newtonking

Chinookwebs λειτουργεί μεγάλο, αλλά φαίνεται λίγο ανενεργή αυτή τη στιγμή και είναι αδύνατο να διαμορφώσετε το «προτεραιότητας» και τα «changefreq» ετικέτες του κάθε σελίδας, όλοι κληρονομούν την ίδια τιμή από το αρχείο ρυθμίσεων.

Ποιες λύσεις έχουν εσείς χρησιμοποιείτε;

Δημοσιεύθηκε 13/08/2008 στις 01:01
πηγή χρήστη
Σε άλλες γλώσσες...                            


3 απαντήσεις

ψήφοι
7

Συνήθως θα χρησιμοποιήσετε ένα πρόγραμμα χειρισμού HTTP για αυτό. Λαμβάνοντας υπόψη ένα αίτημα για ...

http://www.yoursite.com/sitemap.axd

... χειριστής θα απαντήσει με ένα μορφοποιημένο XML sitemap. Είτε αυτό sitemap παράγεται on the fly, από μια βάση δεδομένων, ή κάποια άλλη μέθοδο είναι μέχρι την εφαρμογή HTTP Handler.

Εδώ είναι περίπου αυτό που θα μοιάζει με:

void IHttpHandler.ProcessRequest(HttpContext context)
{
    //
    // Important to return qualified XML (text/xml) for sitemaps
    //
    context.Response.ClearHeaders();
    context.Response.ClearContent();
    context.Response.ContentType = "text/xml";
    //
    // Create an XML writer
    //
    XmlTextWriter writer = new XmlTextWriter(context.Response.Output);
    writer.WriteStartDocument();
    writer.WriteStartElement("urlset", "http://www.sitemaps.org/schemas/sitemap/0.9");
    //
    // Now add entries for individual pages..
    //
    writer.WriteStartElement("url");
    writer.WriteElementString("loc", "http://www.codingthewheel.com");
    // use W3 date format..
    writer.WriteElementString("lastmod", postDate.ToString("yyyy-MM-dd"));
    writer.WriteElementString("changefreq", "daily");
    writer.WriteElementString("priority", "1.0");
    writer.WriteEndElement();
    //
    // Close everything out and go home.
    //
    result.WriteEndElement();
    result.WriteEndDocument();
    writer.Flush();
}

Αυτός ο κωδικός μπορεί να βελτιωθεί, αλλά αυτή είναι η βασική ιδέα.

Απαντήθηκε 13/08/2008 στις 08:19
πηγή χρήστη

ψήφοι
0

Χρησιμοποιώντας ASP.NET MVC λίγο χτυπημένη μέχρι ένα γρήγορο κομμάτι του κώδικα με τη χρήση της βιβλιοθήκης .NET γενιά XML και στη συνέχεια, μόλις πέρασε ότι σε μια σελίδα άποψη που είχε τον έλεγχο XML σε αυτό. Στον κώδικα-πίσω έδεσα τον έλεγχο με την Viewdata. Αυτό φάνηκε να παρακάμψετε την προεπιλεγμένη συμπεριφορά του άποψη σελίδες για να παρουσιάσει μια διαφορετική κεφαλίδα.

Απαντήθηκε 13/08/2008 στις 02:12
πηγή χρήστη

ψήφοι
0

Προσαρμοσμένη χειριστή για τη δημιουργία του sitemap.

Απαντήθηκε 13/08/2008 στις 01:48
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more