Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

UrlRewrite User/SEO Friendly

Îåêßíçóå áðü ôï ìÝëïò emakis. Τελευταία δημοσίευση από το μέλος bagosm στις 13-01-2011, 17:57. Υπάρχουν 6 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  03-01-2011, 11:44 62056

    UrlRewrite User/SEO Friendly

    Για χαρά σε όλους και καλή χρονιά.
    Θέλω να υλοποιήσω το task που περιγράφω και στον τίτλο. Δλδ διευθύνσεις του στιλ www.mysite.gr/proion?ID=100 να εμφανίζονται με την μορφή www.mysite.gr/perigrafh-tou-proiontos
    Ένα γρήγορο googling μου έδωσε πολλά αποτελέσματα και διάφορες τεχνικές κι έχω ψιλοχαθεί.
    Έχει ασχοληθεί κανείς σχετικά; Ποιος είναι αποδοτικός τρόπος; 
    Η εφαρμογή που δουλεύω είναι γραμμένη σε asp.net/vb

    Κάθε υπόδειξη ευπρόσδεκτη.

    Μάκης
    Δημοσίευση στην κατηγορία:
  •  03-01-2011, 17:50 62059 σε απάντηση της 62056

    Απ: UrlRewrite User/SEO Friendly

    Σε ποια έκδοση του IIS θα κάνεις deploy την εφαρμογή σου; Με IIS 6 μπορείς να κάνεις url rewriting με το .aspx π.χ. http://www.mysite.gr/Επικοινωνία.aspx, ενώ με τον IIS 7 μπορείς να κάνεις και extension less url rewriting, π.χ. http://www.mysite.gr/Επικοινωνία. Ένα link που με βοήθησε αρκετά όταν πρωτοέπιασα το συγκεκριμένο θέμα είναι αυτό: http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx
    Τάσος Καραγιάννης

    Baby debugging steps...
  •  03-01-2011, 18:45 62060 σε απάντηση της 62059

    Απ: UrlRewrite User/SEO Friendly

    Είναι εύστοχες οι παρατηρήσεις και τα links που παραθέτει ο Τάσος.

    Αν θέλεις να δεις ένα πολύ απλό παράδειγμα για URL routing, δες ένα post μου εδώ .

    Θα πρέπει να καταλάβεις λίγο πως δουλεύει το routing πριν ξεκινήσεις την υλοποίηση της εφαρμογής σου. Πάντως σκέφτεσαι σωστά με το να θέλεις να έχεις, αυτό που λέμε Clean Urls.

    Νικόλαος Καντζέλης
    BSc, MSc, MCAS, MCPD, MCITP, MCTS,MCP, MCT
    http://www.nksolutions.gr
    http://dotnetstories.wordpress.com
    http://weblogs.asp.net/dotnetstories
    http://forum.dotnetnuke.gr
  •  03-01-2011, 19:04 62061 σε απάντηση της 62059

    Re: Απ: UrlRewrite User/SEO Friendly

    Καλησπέρα,

    απλά θα ήθελα να σημειώσω ότι υπάρχει τρόπος να κάνεις extension-less url-rewriting και στον IIS6, αρκεί να ορίσεις στον IIS να περνάει όλα τα requests από το .Net engine (μπορεί κάτι τέτοιο να κρίνεις ότι δεν θέλεις να το κάνεις). Η ρύθμιση αυτή είναι εδώ:

    > ανοίγεις τον IIS στο site που σε ενδιαφέρει --> δεξί κλικ και properties
    > πας στο home Directory --> κλικ στο configuration
    > Στο tab mappings κάνε διπλό κλικ σε οτιδήποτε υπάρχει ήδη που εκτελείται από τη .Net (π.χ. στο .aspx) και πάρε copy το executable path προς τη .Net
    > Κλείσε το παραθυράκι αυτό, πάτα Add, κάνε paste τη γραμμή που πήρες copy, βάλε * στο extension και κάνε uncheck το "check that file exists"
    > Apply/Close σε όλα τα παράθυρα
     
    Κάνοντας τα παραπάνω τότε όλα τα requests θα περνάνε από τη μηχανή του .Net που σημαίνει ότι μπορείς να φτιάξεις έναν http handler στο global.asax ή σε κάποιο class, να πιάνει όλα τα requests, να τα match-αρει με κάποιο dataset από valid routes και μετά να κάνεις το rewriting που χρειάζεται. Αν τελικά σκοπεύεις να αναπτύξεις σε IIS6 και σε ενδιαφέρει η λύση αυτή μπορώ (αν ψάξω) να βρω μια υλοποίηση που έχω και σε VB.Net και σε C#.

    Βασίλης
  •  04-01-2011, 22:42 62108 σε απάντηση της 62059

    Απ: UrlRewrite User/SEO Friendly

    Παιδιά, ευχαριστώ για την ανταπόκριση και τις πληροφορίες.
    Δυστυχώς δεν ξέρω τι έκδοση IIS είναι -ίσως πρέπει να ρωτήσω τον hoster. Ουσιαστικά είναι η otenet, φαντάζομαι θα είναι IIS 6, αλλά δεν είμαι βέβαιος. Συνεπώς δεν ξέρω κι αν έχει γίνει και η διαδικασία για την extensionless λύση στον IIS 6.

    Κατά τ' άλλα βλέπω μελετώ αυτά που προτείνετε (αν και είναι c# - θα τα περάσω από converter) και επανέρχομαι...

  •  04-01-2011, 23:29 62109 σε απάντηση της 62108

    Απ: UrlRewrite User/SEO Friendly

    My two bits, γιατί σχετικά πρόσφαρα έγραψα ένα  re-writter πάνω κάτω όπως αυτούς που περιγράφει ο κ. Scott - δυστυχώς δε μπορώ να το "δώσω", αν και δικό μου έχει εταιρικό namespace μέσα ...

    • Πρόσεξε αν το κάνεις στο χέρι, θα έχεις πρόβλημα με τα postbacks. Πριν το Render της σελίδας, πρέπει να ξανα-κάνεις rewritePath, με το original URL, αλλιώς ξεχνάς κάθε postback.
    • Tα clean URLs - σημαίνοντας χωρίς extension - θα σου βγάλουν την πίστη για να τα κάνει gzip compress ο μαμίσιος IIS 6.0 ( κι αν το SEO είναι αυτό που κυνηγάς, Google loves compression και standards, ίσως μερικές φορές περισσότερο απο το URL )
    Have fun φίλε, κι υπομονή ;]

    Angel
    O:]
  •  13-01-2011, 17:57 62316 σε απάντηση της 62056

    Απ: UrlRewrite User/SEO Friendly

    Καλησπέρα,

    Το MapPageRoute είναι πολύ δυνατό εργαλείο και το μόνο κακό του είναι οτι πρέπει να τα έχεις καθορίσει στο app launch (ή τουλάχιστον δεν εχω βρεί κάποιον τρόπο να κάνεις register κατόπιν).

    Θα θέλεις να περάσεις και tokens εαν διαχειρίζεσαι απο μια σελίδα διαφορετικά routes, κάπως έτσι:

    routes.MapPageRoute(
    
                 "kathgories",
                 "kathgories/",
                 "~/Default.aspx",
                 false,
                 new RouteValueDictionary { },
                 new RouteValueDictionary { },
                 new RouteValueDictionary { { "token", "tokenvalue" } }
            );
    Και τα values στο url τα περνάς με brackets:

    routes.MapPageRoute(

    "antikeimeno-kathgorias",
    "kathgories/{titloskathgorias}/",
    "~/Default.aspx",
    false,
    new RouteValueDictionary { },
    new RouteValueDictionary { },
    new RouteValueDictionary { { "token", "tokenvalue" } }
    );


    Και τα ζητάς με  Page.RouteData.Values["value"]

    Πρόσεχε όμως, εαν θέλεις να έχεις και κάποιο url ths morfhs kathgories/staticpage/ πχ:
    routes.MapPageRoute(

    "antikeimeno-kathgorias-static",
    "kathgories/staticpage/",
    "~/Static.aspx",
    false,
    new RouteValueDictionary { },
    new RouteValueDictionary { },
    new RouteValueDictionary { { "token", "tokenvalue-static" } }
    );


    πρέπει να το κάνεις register ΠΡΙΝ το παρόμοιο url με τα brackets γιατί αλλιώς θα το διαχειριστεί λάθος route.

    Με τα postback δεν έχεις κανένα απολύτως πρόβήμα.


    Αλλα τι νόημα έχουν όλα αυτά... Σύντομα έρχεται ο νιμπίρου.
    www.egrapses.gr www.funnybook.gr

    Μιχάλης
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems