osCommerce canonical urls - με WWW.

Βοήθεια λύσεις και νέα από τον χώρο των open source ή έτοιμων εφαρμογών που έχουν φτιαχτεί με την PHP όπως oscommerce, κ.α.

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

Απάντηση
Άβαταρ μέλους
leopold
Δημοσιεύσεις: 358
Εγγραφή: 19 Νοέμ 2004 13:05
Τοποθεσία: Acquiring IP Address...

osCommerce canonical urls - με WWW.

Δημοσίευση από leopold » 21 Οκτ 2011 14:29

Γεια σας,

έχω εγακταστήσει την 2.31 έκδοση του osCommerce, απλά και μόνο για δοκιμή. Το πρόβλημα είναι το εξής:

H πλατφόρμα ως αρχικό url βλέπει το domain.com/ και όχι το www.domain.com . Έχω φτιάξει rule ανακατεύθυνσης όλων των non-canonical urls σε canonical αλλά αυτό δεν είναι παρά ένα ημίμετρο καθώς το osCommerce κάθε link που φτιάχνει, επιμένει να το κάνει σε non-canonical, δηλ: http://domain.com/product12 αντί http://www.domain.com/product12.

Σαφώς οι ρυθμίσεις που έχω στο .htaccess αναγκάζουν τον browser να το γυρίσει σε canonical WWW αλλά υποθέτω κάτι τέτοιο εκτός από ημίμετρο δεν είναι και πολύ καλό για το Google. Αν κάνω λάθος διορθώστε με!!

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

RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
Επίσης άλλαξα τα urls στο configuration.php προσθέτοντας www., έσβησα την cache του osCommerce, αλλά δε λύθηκε κάτι.

Κάποια βοήθεια;

Άβαταρ μέλους
burnmind
Script Master
Δημοσιεύσεις: 954
Εγγραφή: 26 Σεπ 2009 02:14
Τοποθεσία: UK
Επικοινωνία:

osCommerce canonical urls - με WWW.

Δημοσίευση από burnmind » 21 Οκτ 2011 21:12

Ψιλοάσχετο με αυτό που ρωτάς, αλλά επειδή το αναφέρεις αρκετές φορές στο post σου, το canonical είναι ένα tag που δηλώνει ποιο είναι το βασικό url για μια μοναδική σελίδα ώστε να μην καταχωρεί duplicate content το google. Τα εξηγεί και με παραδείγματα το link στο google blog.

Το "www" στο www.whatever.com είναι ένα απλό sub-domain, όπως το eimaienasubdomain.whatever.com.

Άβαταρ μέλους
leopold
Δημοσιεύσεις: 358
Εγγραφή: 19 Νοέμ 2004 13:05
Τοποθεσία: Acquiring IP Address...

osCommerce canonical urls - με WWW.

Δημοσίευση από leopold » 21 Οκτ 2011 21:20

burnmind έγραψε:Ψιλοάσχετο με αυτό που ρωτάς, αλλά επειδή το αναφέρεις αρκετές φορές στο post σου, το canonical είναι ένα tag που δηλώνει ποιο είναι το βασικό url για μια μοναδική σελίδα ώστε να μην καταχωρεί duplicate content το google. Τα εξηγεί και με παραδείγματα το link στο google blog.

Το "www" στο www.whatever.com είναι ένα απλό sub-domain, όπως το eimaienasubdomain.whatever.com.
Το γνωρίζω αλλά ρωτούσα (ίσως με λάθος διατύπωση) από τη σκοπιά του redirect απο canonical non-www σε canonical www, το οποίο όμως το δοκίμασα και είναι fail και δεν έχει να κάνει καθεαυτού με τα base urls που έχουν ρυθμιστεί για το osCommerce.

Έχεις καμιά ιδέα για το συγκεκριμένο πρόβλημα; (χωρίς επέμβαση σε .htaccess)

Άβαταρ μέλους
burnmind
Script Master
Δημοσιεύσεις: 954
Εγγραφή: 26 Σεπ 2009 02:14
Τοποθεσία: UK
Επικοινωνία:

osCommerce canonical urls - με WWW.

Δημοσίευση από burnmind » 22 Οκτ 2011 00:02

Είσαι σίγουρος πως άλλαξες το base url; Μήπως υπάρχει κι αλλού η ρύθμιση εκτός από το configuration file που ήδη άλλαξες; Δεν έχω ασχοληθεί ποτέ με το osCommerce, αλλά λίγο δύσκολο να μη μπορείς να δηλώσεις ως base domain ένα subdomain, οπότε ψάξε μήπως σου ξέφυγε κάτι.

Από εκεί και πέρα, ένας php τρόπος για να μπαίνει αυτόματα το www σε οποιοδήποτε request δεν το περιέχει είναι ο εξής:

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

if(!strstr($_SERVER['HTTP_HOST'],'www.')) 
{
header('HTTP/1.1 301 Moved Permanently');
header('Location: http://www.'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
}
Προσοχή: Λογικά λειτουργεί, αλλά ΔΕΝ το έχω δοκιμάσει. Απλά έκανα μερικές γρήγορες αλλαγές στον κώδικα που πήρα από ένα project μου και αρχικά αφαιρούσε το www (die www, die!).

Άβαταρ μέλους
leopold
Δημοσιεύσεις: 358
Εγγραφή: 19 Νοέμ 2004 13:05
Τοποθεσία: Acquiring IP Address...

osCommerce canonical urls - με WWW.

Δημοσίευση από leopold » 22 Οκτ 2011 08:27

burnmind έγραψε:Είσαι σίγουρος πως άλλαξες το base url; Μήπως υπάρχει κι αλλού η ρύθμιση εκτός από το configuration file που ήδη άλλαξες; Δεν έχω ασχοληθεί ποτέ με το osCommerce, αλλά λίγο δύσκολο να μη μπορείς να δηλώσεις ως base domain ένα subdomain, οπότε ψάξε μήπως σου ξέφυγε κάτι.

Από εκεί και πέρα, ένας php τρόπος για να μπαίνει αυτόματα το www σε οποιοδήποτε request δεν το περιέχει είναι ο εξής:

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

if(!strstr($_SERVER['HTTP_HOST'],'www.')) 
{
header('HTTP/1.1 301 Moved Permanently');
header('Location: http://www.'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
}
Προσοχή: Λογικά λειτουργεί, αλλά ΔΕΝ το έχω δοκιμάσει. Απλά έκανα μερικές γρήγορες αλλαγές στον κώδικα που πήρα από ένα project μου και αρχικά αφαιρούσε το www (die www, die!).
Φίλε σε ευχαριστώ αλλά βρήκα τη λύση για να δουλεύει σε WWW κατ'ευθείαν από το CMS και δημοσιεύω τη λύση μήπως χρειαστεί σε κάποιον μελλοντικά.

Ναι μεν "πείραζα" τα μόνα αρχεία που είχαν σχέση με το BASE URL: 1) includes/configuration.php 2) admin/includes/configuration.php αλλά τόσες ώρες που τα έκανα edit , δεν έβλεπα ότι τελικά ο filezilla δεν τα ανέβαζε λόγω write permissions και έκανα ατελείωτες τρύπες στο νερό, μέχρι που το αντιλήφθηκα και άλλαξα τα δυό αρχεία προσωρινά σε -rwxr-xr-x (755) από -r--r--r-- (444)

Voila!!

Command: STOR configure.php
Response: 553 Can't open that file: Permission denied
Error: Critical file transfer error
Status: Set permissions of '/www/domain.gr/includes/configure.php' to '755'
Command: SITE CHMOD 755 configure.php
Command: STOR configure.php
Response: 150 Accepted data connection
Response: 226-File successfully transferred

Απάντηση

Επιστροφή στο “PHP έτοιμες εφαρμογές”

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

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