fbpx
ISTOTEXNIKI
WEB SOLUTIONS
Nginx rewrite rules σε Plesk

Nginx rewrite rules σε Plesk

Nginx rewrite rules σε Plesk, εάν χρησιμοποιείτε αποκλειστικά Nginx με PHP-FPM αντί για την default ρύθμιση Apache

Αυτό απαιτείται για πλατφόρμες PHP όπως το OpenCart και WordPress, όπου για να λειτουργούν σωστά τα links σας, θα χρειαστεί να κάνετε μια αλλαγή στο πεδίο “Additional nginx directives” μέσα στο Plesk.

Όταν η ρύθμιση βασίζεται σε Apache, τα permalinks ρυθμίζονται μέσω αρχείου .htaccess. Ωστόσο, σε nginx only επιλογή δεν διαβάζει αυτό το αρχείο, επομένως πρέπει να προστεθεί απευθείας στη διαμόρφωση του Plesk για να μπορέσει να διαβάζει ο server όλα τα url’s σωστά και να μην οδηγεί σε σφάλματα 404.

Η διαδικασία:

  • 1. Ανοίγετε το domain που επιθυμείτε στο Plesk
  • 2. Κάνετε κλικ στο tab “Hosting & DNS”
  • 3. Επιλέγετε “Apache & nginx settings”
  • 4. Εκεί αφού απενεργοποιήσετε την επιλογή “Proxy mode” για να δουλεύει μόνο ο nginx web server, στο τέλος στο πεδίο “Additional nginx directives” συμπληρώνετε:

Για OpenCart

rewrite ^/sitemap.xml$ /index.php?route=extension/feed/google_sitemap last;
rewrite ^/googlebase.xml$ /index.php?route=extension/feed/google_base last;
rewrite ^/system/storage/(.*) /index.php?route=error/not_found last;
if (!-f $request_filename){
	set $rule_3 1$rule_3;
}
if (!-d $request_filename){
	set $rule_3 2$rule_3;
}
if ($uri !~ ".*\.(ico|gif|jpg|jpeg|png|js|css)"){
	set $rule_3 3$rule_3;
}
if ($rule_3 = "321"){
	rewrite ^/([^?]*) /index.php?_route_=$1 last;
}

Για WordPress

if (!-e $request_filename) { rewrite ^(.+)$ /index.php?q=$1 last; }

Προσοχή: Σημειώστε ότι σε ρύθμιση nginx only (Η επιλογή Proxy απενεργοποιημένη δηλαδή) ότι υπάρχει συμπληρωμένο στο αρχείο .htaccess που βρίσκεται στον φάκελο (/httpsdocs) δεν έχει καμία ισχύ. Για να λειτουργούν οι εντολές σας εκεί, πρέπει να ενεργοποιήσετε πάλι την επιλογή “Proxy” όπου σε αυτή την περίπτωση θα λειτουργεί ο συνδυασμός Apache με Nginx.

Αυτό το άρθρο ισχύει για Plesk Onyx και το Plesk Obsidian.

ΚΛΕΙΣΙΜΟ