301 url redirect

Search Engine Optimization, Search Engine Positioning, Τρόποι προώθησης των σελίδων μας

Συντονιστές: WebDev Moderators, Super-Moderators, SEM Moderators

Απάντηση
mpempe
Δημοσιεύσεις: 156
Εγγραφή: 23 Ιουν 2003 02:48
Τοποθεσία: peloponisos

301 url redirect

Δημοσίευση από mpempe » 26 Αύγ 2011 15:05

Γεια σας
έχουμε κάνει μια αναβάθμιση πρόσφατα σε ένα site που είναι γραμμένο σε asp. Στο νέο site υπάρχει νέα δομή αρχείων και νέα ονόματα .

πχ στο παλιό είχαμε
mydomain.gr/default.asp?pageID=40
mydomain.gr/default.asp?pageID=41
mydomain.gr/default.asp?pageID=42
mydomain.gr/default.asp?pageID=43
κλπ

στο νέο
mydomain.gr/page.asp?id=1
mydomain.gr/page.asp?id=2
mydomain.gr/page.asp?id=3
mydomain.gr/page.asp?id=4

Πως μπορώ να ανακατευθύνω τα παλιά (που δεν υπάρχουν ) στα νεα url.
Να σημειώσω πως τα links είναι γύρω στα 500
Υπάρχει τρόπος να κάνω αντιστοιχία

πχ

mydomain.gr/default.asp?pageID=40 ===> mydomain.gr/page.asp?id=1
mydomain.gr/default.asp?pageID=41 ===> mydomain.gr/page.asp?id=2
mydomain.gr/default.asp?pageID=42 ===> mydomain.gr/page.asp?id=3
mydomain.gr/default.asp?pageID=43 ===> mydomain.gr/page.asp?id=4

Άβαταρ μέλους
_tasos
Δημοσιεύσεις: 116
Εγγραφή: 03 Μάιος 2007 15:06
Επικοινωνία:

301 url redirect

Δημοσίευση από _tasos » 26 Αύγ 2011 15:34

Ο κώδικας σε asp για να κάνεις 301 redirect είναι:

Κώδικας: Επιλογή όλων

<@ Language=VBScript %>
 <%
Dim NewLocation = "http&#58;//mydomain.gr/page.asp?id=1"
Response.Status="301 Moved Permanently" 
Response.AddHeader "Location", NewLocation
 %>
Για την αντιστοιχία των παλιών url με τα νέα είναι κάτι που θα πρέπει να φτιάξεις εσύ. Υπάρχει κάποια συγκεκριμένη λογική / συσχέτιση των παλιών και των νέων ids;
Τελευταία επεξεργασία από το μέλος _tasos την 26 Αύγ 2011 17:50, έχει επεξεργασθεί 1 φορά συνολικά.

mpempe
Δημοσιεύσεις: 156
Εγγραφή: 23 Ιουν 2003 02:48
Τοποθεσία: peloponisos

301 url redirect

Δημοσίευση από mpempe » 26 Αύγ 2011 15:51

Οχι δεν υπάρχει λογική. Μπορώ να κάνω manual μια λίστα με τις αντιστοιχίες.
Με ποιό κώδικα?
Πως θα ονομάζεται το αρχείο ?
Και που θα το τοποθετήσω?

Άβαταρ μέλους
_tasos
Δημοσιεύσεις: 116
Εγγραφή: 03 Μάιος 2007 15:06
Επικοινωνία:

301 url redirect

Δημοσίευση από _tasos » 26 Αύγ 2011 17:53

Τον κώδικα που σου έδειξα θα τον τοποθετήσεις στην αρχή του default.asp. Εφόσον βλέπεις ένα παλιό id π.χ. (mydomain.gr/default.asp?pageID=43) θα δίνεις το νέο url στη μεταβλητή NewLocation.

mpempe
Δημοσιεύσεις: 156
Εγγραφή: 23 Ιουν 2003 02:48
Τοποθεσία: peloponisos

301 url redirect

Δημοσίευση από mpempe » 26 Αύγ 2011 18:49

Πως όμως θα πηγαίνει απο το

mydomain.gr/default.asp?pageID=40
στο
mydomain.gr/page.asp?id=1

και απο
mydomain.gr/default.asp?pageID=41
στο
mydomain.gr/page.asp?id=2

πως μπορώ να κάνω αυτή την αντιστοιχία?

mpempe
Δημοσιεύσεις: 156
Εγγραφή: 23 Ιουν 2003 02:48
Τοποθεσία: peloponisos

301 url redirect

Δημοσίευση από mpempe » 26 Αύγ 2011 22:14

Φιλε Τάσο
Έκανα το εξής

<%@ Language=VBScript %>
<%
Response.Status="301 Moved Permanently"
Response.AddHeader "Location","http://www.mydomain.gr/page.asp?id=1"
%>

σαν αυτο που μου έδωσες

αυτό ανακατευθύνει όλες τις default.asp?pageID=χχχ
στην page.asp?id=1

γίνεται αν κάνω εγώ τη σωστή αντιστοίχηση στη βάση ώστε το παλιό ID να αντιστοιχεί στο νέο ID

να βλέπει αυτόματα το σωστό ID?
px
mydomain.gr/default.asp?pageID=40
στο
mydomain.gr/page.asp?id=40

Άβαταρ μέλους
_tasos
Δημοσιεύσεις: 116
Εγγραφή: 03 Μάιος 2007 15:06
Επικοινωνία:

301 url redirect

Δημοσίευση από _tasos » 27 Αύγ 2011 13:18

Θα πρέπει να γράψεις λίγο κώδικα που να κάνει χοντρικά το εξής:

Κώδικας: Επιλογή όλων

Dim OldID = Request.QueryString&#40;"pageID"&#41;
Dim NewID = 0
If&#40;OldID = 40&#41; Then
    NewID = 1
ElseIfIf&#40;OldID = 41&#41; Then
    NewID = 2
ElseIfIf&#40;OldID = 42&#41; Then
    NewID = 3
....
End If
If&#40;NewID > 0&#41; Then
Response.Status="301 Moved Permanently"
Response.AddHeader "Location","http&#58;//www.mydomain.gr/page.asp?id=" & NewID 
End If
Για να μη γίνει τεράστιος ο κώδικας σου στην default.asp θα μπορούσες να κάνεις μία function που να κάνει αυτήν την αντιστοίχιση, π.χ.

Κώδικας: Επιλογή όλων

Dim OldID = Request.QueryString&#40;"pageID"&#41;
Dim NewID = GetNewIDForPage&#40;OldID&#41;

If&#40;NewID > 0&#41; Then
Response.Status="301 Moved Permanently"
Response.AddHeader "Location","http&#58;//www.mydomain.gr/page.asp?id=" & NewID 
End If
και την GetNewIDForPage(...) να την γράψεις είτε στο κάτω μέρος του αρχείου, είτε σε κάποιο ξεχωριστό αρχείο. Για να είναι λίγο πιο συμμεζεμένος ο κώδικας σου

Απάντηση

Επιστροφή στο “Μηχανές αναζήτησης & SEO”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες