Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

καλησπέρα

 

μετακόμισα το site μου σε άλλο host (από linux σε windows)

παρατηρώ ότι τα permalinks που έχουν ελληνικά δεν λειτουργούν, βγάζουν "Η σελίδα δεν βρέθηκε"

 

permalinks από αγγλικούς χαρακτήρες είναι οκ

 

τονίζω ότι μετακόμισα από πακέτο linux σε windows...

 

τι μπορεί να φταίει;

Δημοσ.

Δοκίμασε να προσθέσεις στο αρχείο index.php του θέματος μετά το <?php

$_SERVER['REQUEST_URI'] = $_SERVER['UNENCODED_URL'];

αν δεν δουλέψει θα πρότεινα να αλλάξεις προσωρινά σε default permalinks και μετά ξανά στην μορφή που τα έχεις τώρα

Δημοσ.

πρόσθεσα αυτό που πρότεινες. το πρόβλημα παραμένει.
επίσης άλλαξα σε default και ξανά μετά σε permalinks αλλά τίποτα. Είμαι πεπεισμένος ότι έχει να κάνει με τα ελληνικά στο url, για τον εξής λόγο:
 
έβαλα ένα plugin που μετατρέπει τα ελληνικά permalinks σε greeklish (http://wordpress.org/plugins/greeklish-permalink/) και αυτά δουλεύουν μια χαρά! απλά δουλεύει στα νέα άρθρα που βάζω όχι στα προηγούμενα, που είναι με ελληνική γραφή.
 
ξαναλέω ότι άλλαξα host και από Linux hosting πήγα σε windows. η βάση είναι σε mysql και οι πίνακες wp_posts στη στήλη post_name έχουν ίδιο περιεχόμενο και encoding. το μόνο που εντόπισα ως διαφορά είναι ότι ενώ είχε mysql τώρα έχει mysqli.. λέτε να παίζει ρόλο;
 
μήπως πρέπει να κάνω αλλαγή κάπου αλλού;

Δημοσ.

Υποψιάζομαι ότι είναι θέμα codepage. Έχεις κάποιο link για το site σου;

 

 το μόνο που εντόπισα ως διαφορά είναι ότι ενώ είχε mysql τώρα έχει mysqli.. λέτε να παίζει ρόλο;

 

Τι εννοείς με αυτό;

Δημοσ.

αυτό εννόω:

 

προηγούμενο phpmyadmin (linux)

post-168473-0-14619900-1392885805_thumb.png

 

νέο phpmyadmin (windows)

post-168473-0-00355900-1392885810_thumb.png

 

το site μου: http://www.homoeconomicus.gr

δες τα πρώτα τρια άρθα

- το πρώτο δουλεύει γιατί το permalink φτιάχτηκε με το Plugin που ανέφερα

- το δεύτερο δουλεύει γιατί είναι έτσι και αλλιώς στα αγγλικά

- το τρίτο δε δουλεύει γιατί είναι στα ελληνικά

Δημοσ.

Αυτό που σου δείχνει το phpmyadmin είναι το extension που χρησιμοποιεί το ίδιο για να λειτουργήσει. Καμία σχέση με το wp ή τη βάση σου.

 

Αν αλλάξεις τα permalinks στη default ρύθμιση (με ?p={id}) δουλεύει;

Δημοσ.

Αυτό που σου δείχνει το phpmyadmin είναι το extension που χρησιμοποιεί το ίδιο για να λειτουργήσει. Καμία σχέση με το wp ή τη βάση σου.

 

Αν αλλάξεις τα permalinks στη default ρύθμιση (με ?p={id}) δουλεύει;

 

ναι δουλεύει κανονικά. μα και τα permalinks δουλεύουν, απλά όχι με ελληνικούς χαρακτήρες 

Δημοσ.

Οκ το έβαλα σε αυτό το σημείο:

<div class="entry-content">
	<p><?php _e( 'It seems we can’t find what you’re looking for. Perhaps searching can help.', 'twentytwelve' ); ?></p>
    <?php echo '<pre><code>'.$_SERVER['REQUEST_URI'].'</code></pre>'; ?>
    allios:
    <?php echo '<pre><code>'.$_SERVER['UNENCODED_URL'].'</code></pre>'; ?>
<?php get_search_form(); ?> </div><!-- .entry-content -->
 

τώρα βγάζει αυτό:

post-168473-0-01374400-1392891281_thumb.png

 

τελικά; κωδικοποίηση; που αλλού θέλει ρύθμιση;

 

------------------

edit2:

 

βρήκα αυτό το άρθρο: http://q.nett.gr/wordpress-3-x-on-iis-7-x-with-unicode-permalinks-problem-solved/

 

και διαπιστώνω ότι το $_SERVER['UNENCODED_URL']

 

περιέχει το ζητούμενο

 

έκανα την αλλαγή που λέει το άρθρο στο index.php και τώρα δουλεύει!

απλά τώρα κάνει κάτι άλλο:

δε δουλεύει η αρχική σελίδα και το facebook plugin διαμαρτύρεται ότι δεν μπορεί να επικοινωνήσει (στις σελίδες με τα ελληνικά πάλι)

 

την αρχική σελίδα γιατί την τρώει τώρα;

Δημοσ.

Χαίρομαι που βρήκες λύση.

 

Σημείωσε όμως ότι το UNENCODED_URL είναι IIS-specific. Αν στο μέλλον μετακομίσεις ξανά, θα χρειαστεί να κάνεις τις αντίστροφες μετατροπές.

 

Αν ήμουν στη θέση σου, αντί να αλλάζω τον κώδικα του προγράμματος μου, θα έκανα μία συνεννόηση με τον host, ώστε να ρυθμίσει τον web server να κάνει σωστά τα rewrites.

Δημοσ.

λύση βρήκα για τα ελληνικά.. για τα αγγλικά έχουμε θέμα :(

 

κάνει λάθος rewrites λες ο host? τι να του ζητήσω; μήπως είναι κάτι που μπορώ να διορθώσω μόνος μου;


edit: η λύση (μέχρι τώρα δουλεύει) είναι η εξής:  στο index.php στον αρχικό κατάλογο βάζουμε:

if ($_SERVER['UNENCODED_URL'] != '')	{
	$_SERVER['REQUEST_URI'] = $_SERVER['UNENCODED_URL'];
}
Δημοσ.

Προσωπικά νοιώθω ανασφάλεια με τέτοιου είδους "μερεμέτια" που αφ' ενός είναι host-specific και αφ' ετέρου δεν μπορείς να ξέρεις εξ αρχής αν είναι οριστικές λύσεις.

 

Τα δεδομένα για μένα είναι τα εξής:

- Χρησιμοποιείς ένα cms, όπως το WP, το οποίο βασίζει τη λειτουργικότητά του στο $_SERVER['REQUEST_URI'] (το περιμένει να υπαχει).

- Τα πάντα στο site σου δουλεύουν σε utf8.

- Έχεις έναν web server που σου παραδίδει το REQUEST_URI προφανώς σε άλλη κωδικοποίηση.

- Αυτός ο web server υποστηρίζει rewrites και μπορούν να διαμορφωθούν αναλόγως (δες την πρώτη λύση στο άρθρο που έβαλες link παραπάνω).

 

Γιατί λοιπόν να κάνεις χακεριές, τη στιγμή που μπορεί ο host σου να διαμορφώσει τα rewrites ώστε να δουλεύει το site σου όπως αναμένεται;

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

Δημοσ.

έχεις δίκιο geomagas :)

αυτό θα κάνω. θα στείλω email στο support να τους εξηγήσω. θα φανεί αν θα έχουμε και καλή συνεργασία :)

 

καλή συνέχεια

  • 4 εβδομάδες αργότερα...
Δημοσ.

Καλή επιτυχία, και ένας ακόμη λόγος να μην χρησιμοποιούμε Windows server  :devil:

τι να κάνω που ήθελα να πειραματιστώ σε άλλη σελίδα με sql server?

εμπειρία είναι όλα ;)

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...