Przekierowania htaccess stron bez www na strony z www

Często zdarza się, iż chcielibyśmy przekierować naszą stronę wyświetlająca się bez www na adres www.twojawitryna.pl. Efekt taki uzyskamy dzięki prostym regułom htaccess:

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

gdzie twojawitryna.pl to adres naszej strony.

Kiedy powyższa sytuacja pojawia się w katalogu, np. /forum/ reguły będą wyglądały troszkę inaczej:

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

Oczywiście te reguły umieszczamy w htaccess’ie znajdującym się w podkatalogu /forum/.

Dodatkowymi zaletami powyższych reguł jest przekierowywanie każdej domeny skierowanej na katalog z serwisem na adres główny, czyli www.twojawitryna.pl

Przekierowanie na podkatalog można też wykonać za pomocą następującego kodu:

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

W tym przypadku nie trzeba dbać o nazwy podkatalogów w regule.

Katalog na serwerze chroniony hasłem – htaccess auth

Często się zdarz,a że chcemy chronić jakieś dane znajdujące się na serwerze. Oczywiście można napisać skrypt logowania, który umożliwi wyświetlenie zawartości danej strony jedynie zalogowanym użytkownikom. Co jednak jeśli chcemy chronić dostęp do wszystkich plików, podkatalogów znajdujących się w danym katalogu?

Z pomocą przychodzi nam .htaccess.

W katalogu, który chcemy chronić, tworzymy plik .htaccess z następującymi regułami:

AuthName "Tekst do wyświetlenia, np. podaj hasło"
AuthType Basic
AuthUserFile /SCIEZKA_BEZWZGLEDNA_DO_KATALOGU_Z_PLIKIEM_HASEL/.htpasswd
Require valid-user

W katalogu do którego nie ma dostępu zwykły user (np. katalog wyżej od public_html) tworzymy plik .htpasswd. W pliku tym będziemy przetrzymywali hasła. Ścieżka bezwzględna do pliku powinna zostać wpisana w pliku .htaccess zamiast SCIEZKA_BEZWZGLEDNA_DO_KATALOGU_Z_PLIKIEM_HASEL

Struktura pliku .htpasswd powinna mieć postać:

user1:password1
user2:password2
user3:password3

itd., gdzie “user1″ to nazwa użytkownika, a “password1″ to hasło dla tego użytkownika. Hasło musi przed wpisaniem do pliku zostać zakodowane. Narzędzie do kodowania haseł najdziecie tutaj http://www.kxs.net/support/htaccess_pw.html

Po wykonaniu powyższych kroków i wpisaniu do przeglądarki adresu katalogu bądź katalogów podrzędnych, powinno wyskoczyć okienko logowania. Kiedy wprowadzimy dane dowolnego usera z pliku .htpasswd uzyskamy dostęp do katalogu.