irek86pl / 10.03.2020

Jak ustalić jeden adres główny strony w pliku .htaccess?

Jak ustalić jeden adres główny strony w pliku .htaccess?

Często zdarza się że strona dostępna jest pod różnymi wersjami adresów: z „www”, bez „www” czy pod adresem pliku index.php (np. www.domena.pl/index.php). Jeśli chcemy ustalić jeden adres główny dla naszej strony możemy zrobić to w bardzo prosty sposób za pomocą przekierowań zdefiniowanych w pliku .htaccess. Wystarczy, że dodamy w nim wybrane następujące reguły:

Dla adresu głównego bez „www”

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

Powyższa reguła wykona przekierowanie 301 z dowolnego adresu naszej strony zawierającego „www” na odpowiadający mu adres bez „www”.

Dla adresu głównego z „www”

RewriteCond %{HTTP_HOST} ^nazwadomeny.pl$
RewriteRule (.*) http://www.nazwadomeny.pl/$1 [R=301,L]

Ta reguła przekieruje 301 dowolny adres bez „www” w naszym serwisie na jego odpowiednik z „www”.

Dla adresu nazwadomeny.pl/index.php na adres główny:

RewriteCond %{THE_REQUEST} ^nazwadomeny.pl/index\.php
RewriteRule ^(.*)index.php$ /$1 [R=301,L]

Reguła przekieruje 301 adres nazwadomeny.pl/index.php na nazwadomeny.pl.

Wszystkie reguły muszą znaleźć się po włączeniu w pliku .htaccess przekierowań, a więc poniżej linii:

RewriteEngine On

Jeśli nie jesteśmy pewni czy nasz serwer obsługuje mod_rewrite czyli moduł odpowiedzialny za powyższe przekierowania możemy sprawdzić to tworząc na serwerze FTP, w katalogu głównym naszej strony plik PHP o dowolnej nazwie np. „info.php” i umieszczając w nim poniższy zapis:

<?php phpinfo(); ?>

Teraz wystarczy wejść pod adres „adresnaszejstrony.pl/info.php” i na wczytanej stronie poszukać informacji o aktywnych modułach.