Εισαγωγή
Όταν επισκέπτεστε το https://vultr.com , θα παρατηρήσετε ότι σας προωθεί αυτόματα στον υποτομέα "www" http:// www .vultr.com . Αυτή η εγγραφή σάς δείχνει πώς να ρυθμίσετε το Apache 2 για να ανακατευθύνει έναν υποτομέα που δεν είναι www σε έναν "www" και αντίστροφα.
Προαπαιτούμενα
- Έχετε μια παρουσία Vultr Linux που τρέχει το Apache 2.
- Έχετε το όνομα τομέα σας (π.χ. example.com) του οποίου οι εγγραφές DNS A για "@" και "www" δείχνουν την IP του μηχανήματος Vultr παραπάνω.
Ρύθμιση για ανακατεύθυνση "non-www" στο "www"
Μέθοδος 1: Χρήση ανακατεύθυνσης 301
Ρυθμίστε δύο εικονικούς κεντρικούς υπολογιστές, έναν για τον υποτομέα "non-www" και τον άλλο για "www"
<VirtualHost *:80>
ServerName example.com
Redirect 301 / http://www.example.com/
</VirtualHost>
<VirtualHost *:80>
ServerName www.example.com
#other vhost settings go here (e.g. logs, site root)
</VirtualHost>
Μέθοδος 2: Χρήση κατάστασης κινητήρα επανεγγραφής
Τοποθετήστε παρακάτω το απόσπασμα σε ένα αρχείο .htaccess στον ριζικό φάκελο του ιστότοπού σας. Σημειώστε ότι η ενότητα mod_rewrite του Apache πρέπει να είναι ενεργοποιημένη για να μπορείτε να χρησιμοποιήσετε αυτήν τη μέθοδο. Μπορείτε να το ενεργοποιήσετε εκτελώντας το sudo a2enmod rewrite.
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
Ρύθμιση για ανακατεύθυνση "www" σε "non-www"
Μέθοδος 1: Χρήση ανακατεύθυνσης 301
Ρυθμίστε δύο εικονικούς κεντρικούς υπολογιστές, έναν για τον υποτομέα "www" και τον άλλο για "non-www"
<VirtualHost *:80>
ServerName www.example.com
Redirect 301 / http://example.com/
</VirtualHost>
<VirtualHost *:80>
ServerName example.com
#other vhost settings go here (e.g. logs, site root)
</VirtualHost>
Μέθοδος 2: Χρήση κατάστασης κινητήρα επανεγγραφής
Τοποθετήστε παρακάτω το απόσπασμα σε ένα αρχείο .htaccess στον ριζικό φάκελο του ιστότοπού σας. Σημειώστε ότι η ενότητα mod_rewrite του Apache πρέπει να είναι ενεργοποιημένη για να μπορείτε να χρησιμοποιήσετε αυτήν τη μέθοδο. Μπορείτε να το ενεργοποιήσετε εκτελώντας το sudo a2enmod rewrite.
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
Σε σενάριο Lami Adabonyan