wordpress 404 error
Συμπτώματα :
Ενότητα με τίτλο «Συμπτώματα :»– Η wordpress ιστοσελίδα μου εμφανίζει error 404
– Χρησιμοποιώ μόνο Nginx στα hosting settings του plesk
– To error_log στην PHP εμφανίζει generic error 404 Not Found
Αφορά : WebHosting | Linux Plesk Reseller Hosting
Ενότητα με τίτλο «Αφορά : WebHosting | Linux Plesk Reseller Hosting»Όταν δούμε στον browser το error 404 σημαίνει ότι ο webserver δεν μπόρεσε να βρεί την ζητούμενη σελίδα για να μας την εμφανίσει.
Reset wordpress permalinks
Ενότητα με τίτλο «Reset wordpress permalinks»Κάποια λάθος ρύθμιση ή κάποιο plugin μπορεί να έχει προσθέσει λάθος rules στο .htaccess αρχείο ή μπορεί να μην συμβαδίζουν οι ρυθμίσεις του wordpress με τους rewrite κανόνες όπου έχει το .htacess
Μπορούμε να ορίσουμε εκ νέου το url structrure του wordpress μέσω του wp-admin
Επιλέγουμε
WordPress > Log in > Settings > Permalinks >Πατάμε αποθήκευση.
Επαναφορά .htaccess στην default μορφή του.
Ενότητα με τίτλο «Επαναφορά .htaccess στην default μορφή του.»To .htaccess είναι ένα configuration αρχείο όπου περιέχει εντολές για τον apache webserver.
Μια από τις κύριες λειτουργίες του είναι η μετονομασία των url’s σε μια πιό φιλική μορφή.
Tο url της μορφής https://example.com/?page\_id=1662 με την χρήση του .htacces μετονομάζεται αυτόματα σε https://example.com/mypage
Μπορούμε να τοποθετήσουμε το default .htaccess αρχείο του wordpress με σκοπό να διορθώσουμε πιθανά 404 errors.
Μετονομάζουμε το υπάρχων .htaccess σε htaccess.txt
Δημιουργούμε ένα νέο txt αρχείο με την ονομασία .htaccess
Επισυνάπτουμε τους παρακάτω κανόνες
# BEGIN WordPress<IfModule mod_rewrite.c>RewriteEngine OnRewriteBase /RewriteRule ^index.php$ - [L]RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule . /index.php [L]</IfModule># END WordPressPlesk Wordpress Nginx Only
Ενότητα με τίτλο «Plesk Wordpress Nginx Only»Στο plesk controlpanel η default λειτουργία είναι να δουλεύουν ταυτόχρονα ο apache με τον nginx webserver.
Αν επιλέξετε από τα hosting settings του domain, η εξυπηρέτηση να γίνεται από τον nginx, ενώ στις ρυθμίσεις apache & nginx settings έχετε αφαιρέσει το proxy mode, θα εμφανίζεται 404 error όταν θα προσπαθήσετε να δείτε σελίδες.
Άν έχουμε εγκατεστημένο το plesk controlpanel σε dedicated server ή VPS (όχι σε shared hosting λογαριασμό) έχουμε μια επιπλέον ρύθμιση στο μενού Apache & Nginx Settings.
Εκεί πρέπει να τοποθετήσετε τα rewrite rules του wordpress, καθώς ο nginx δεν μπορεί να διαβάσει το htaccess αρχείο.
if (!-e $request_filename) {set $test P;}if ($uri !~ ^/(plesk-stat|webstat|webstat-ssl|ftpstat|anon_ftpstat|awstats-icon|internal-nginx-static-location|status_phpfpm)) {set $test "${test}C";}if ($test = PC) {rewrite ^/(.*)$ /index.php?$1;}Αν το wordpress είναι σε φάκελο πχ mydomain.gr/wordpress
if (!-e $request_filename) {set $test P;}if ($uri !~ ^/(plesk-stat|webstat|webstat-ssl|ftpstat|anon_ftpstat|awstats-icon|internal-nginx-static-location|status_phpfpm)) {set $test "${test}C";}if ($test = PC) {rewrite ^/(.*)$ /sub-dir/index.php?$1;}