URL perrašymo taisyklės
Visuose serveriuose yra įdiegtas mod_rewrite modulis, kuris suteikia labai daug galimybių URL (WWW adresų/domenų) perrašymui.
Tam reikės naudoti failą .htaccess kuris yra pagrindiniame svetainės kataloge public_html arba toje direktorijoje, kurią norite apsaugoti. Jei šio failo nėra - jį galite tiesiog sukurti.
Taisyklė įsigalioja ją įrašius į .htaccess failą. Keletas populiariausių pavyzdžių:
Turinys
[slėpti]- 1 Peradresavimas iš http://mano-svetaine.lt į www.mano-svetaine.lt
- 2 Peradresavimas iš www.mano-svetaine.lt į http://mano-svetaine.lt
- 3 Peradresavimas iš senos svetainės į naują
- 4 lankytojų perkėlimas į pagrindinį subdomeną
- 5 Vienos svetainės dalies nukreipimas
- 6 Visų, išskyrus vieną, lankytojų nukreipimas
Peradresavimas iš http://mano-svetaine.lt į www.mano-svetaine.lt
# peradresavimas is domeno i www subdomena RewriteEngine on RewriteCond %{HTTP_HOST} ^mano-svetaine\.lt$ [NC] RewriteRule ^(.*)$ http://www.mano-svetaine.lt/$1 [R=301,L]
Pastaba: vietoj mano-svetaine, lt ir mano-svetaine.lt naudokite savo svetainės adresą
Peradresavimas iš www.mano-svetaine.lt į http://mano-svetaine.lt
# pastovus peradresavimas iš www subdomeno į domeną RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.mano-svetaine\.lt$ [NC] RewriteRule ^(.*)$ http://mano-svetaine.lt/$1 [R=301,L]
Pastaba: vietoj mano-svetaine, lt ir mano-svetaine.lt naudokite savo svetainės adresą
Peradresavimas iš senos svetainės į naują
Svetaines peradresuoti galima ir kitais būdais ( paspauskite čia ), tačiau peradresavimas .htaccess failu naudingas specifinėse situacijose, pvz. jei nekeičiant katalogų struktūros svetainės failai buvo perkelti kitam domenui ir dar nereikia "senojo" domeno pridėti kaip sinonimo į naująjį adresą( kas tai yra rasite paspaudę čia ).
# Nukreipiama i naujaja svetaine RewriteEngine On RewriteRule ^(.*)$ http://www.nauja-svetaine.lt/$1 [R=301,L]
Pastaba: vietoj nauja-svetaine.lt naudokite savo svetainės adresą
lankytojų perkėlimas į pagrindinį subdomeną
Naudinga tuomet, kai sukuriamas atskiras subdomenas ir nenorite, jog lankytojai jį atidarytų surinkę adresą mano-svetaine/subdomenas, o reikia, kad visada veiktų subdomenas.mano-svetaine.lt:
RewriteEngine on RewriteRule ^subdomenas/(.*)$ http://subdomenas.mano-svetaine.lt/$1 [R=301,L]
Vienos svetainės dalies nukreipimas
redirect 301 /dabartinis/failas.html http://www.kita-svetaine.com/naujas/failas.html
Visų, išskyrus vieną, lankytojų nukreipimas
Naudinga tuomet, kai dar kuriama svetainė ir visiems, išskyrus programuotoją, norima atvaizduoti vieną svetainės versiją, programuotojui - kitą.
- Tam, kad peradresuotų lankytojus į kitą puslapį:
Options +FollowSymlinks RewriteEngine on RewriteCond %{REMOTE_HOST} !^127\.0\.0\.1 RewriteRule (.*) http://Kitas_adresas.lt/$1 [R=301,L]
- Tam, kad atvaizduotų kažkokį failą:
Options +FollowSymlinks RewriteEngine on RewriteCond %{REMOTE_HOST} !^127\.0\.0\.1 RewriteRule \.html$ /kitas_puslapis.html [R=302,L]
- jei reikia pridėti keletą IP adresų, jie atskiriami naudojant " | ":
RewriteCond %{REMOTE_HOST} !^127\.0\.0\.1|^195\.36\.67\.134|^195\.157\.64\.5