.htaccess nukreipėjai
Parašė ozzWANTED 2007 spalio 1 15:10:01
Straipsnelis kuriame parodoma kaip .htaccess failo pagalbą valdyti savo saito turinio adresų galutinius taškus(aka nukreipėjus).
------------------------------------------

301 Nukreipimo pavyzdžiai

Perkelti kiekvieną puslapį
Redirect 301 /senaspuslapis.html http://www.pavyzdys.lt/naujaspuslapis.html


Perkelti visą tinklapį
Tai perims visą srautą ir nukreips jį į jūsų index failą naujame serveryje. Jei norite nukreipti atskirus puslapius, į jų vietas, šis kodas jums netinka.
Redirect 301 / http://www.pavyzdys.lt/


Pakeista puslapio galūnė?
Šis pavyzdys tinkamiausias, jei nusprendėte pakeisti puslapio galūnę iš .html į .php. Jis ieškos bet kokio .html puslapio ir nukreips jį į .php. (pvz: http://www.pavyzdys.lt/jusupuslapis.html nukreips į http://www.pavyzdys.lt/jusupuslapis.php). Būkite atsargūs, tai reiškia bet BET KOKIO .html puslapio. Aš padariau, tai vienam iš savo puslapių ir visiškai pamiršau, kad buvau pasidaręs iframe ant kai kurių .html puslapių... Ilgą laiką nesupratau, kad šis pavyzdys neveikia :S.
Taigi, mokykitės iš mano klaidų ;-) Devynis kartus pamatuokit, dešimtą pjaukit.

RedirectMatch 301 (.*)\.html$ http://www.pavyzdys.lt$1.php


Nukreipti www į ne www saito versiją
Geriausia norint sujungti abudu būdus visada naudojant www.pavyzdys.lt ar tiesiog pavyzdys.lt. Naudojant abudu būdus galima sutrikdyti paieškos sistemas. Taigi, štai būdas, kaip priversti jūsų tinklapį visada rodyti ne -www versiją. (Norėdami sužinoti daugiau, ieškokite pagal užklausą "canonical url errors" savo mėgiamoje paieškos sistemoje.)

Pastaba: Jeigu naudotise abudu kodus pateiktus žemiau, ir naudosite apsaugotą serverį (pvz: https:) patikrinkite, kad kodai nenukreipia iš saugios į nesaugią versiją. Aš manau, kad jūs to nenorite.

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^pavyzdys\.lt
RewriteRule (.*) http://example.com/$1 [R=301,L]


Nukreipti ne -www į www
Šis kodas nukreipia www. į jūsų norimą URL.

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^jusupuslapis.lt [NC]
RewriteRule ^(.*)$ http://www.jusupuslapis.lt/$1 [L,R=301]


Nukreipti pavyzdys.lt/index.php į pavyzdys.lt/Kitas failas, kodas taip pat gali nukreipti pavyzdys.lt/aplankas/index.php į pavyzdys.lt/aplankas/.

Options +FollowSymLinks
RewriteEngine on
# index.php to /
RewriteCond %{THE_REQUEST} ^[A-Z]{3, 9}\ /.*index\.php\ HTTP/
RewriteRule ^(.*)index\.php$ /$1 [R=301,L]


Metodas 2 - Meta nukreipimas
Nepatariu nukreipinėti šiuo būdu! Dauguma paieškos sistemų susiduria su sunkumais naudojant šį kodą (spameriai taip pat naudoja šį kodą, negerais tikslais) tai taip pat gali pridaryti jūsų puslapiui daug nemalonumų! Kai kurios naršyklės šio kodo nenuskaito tinkamai, taigi kai kurie jūsų lankytojai gali nepatekti į tinklapį. Rimtai nepatartina naudoti šio kodą, bet jeigu vis tiek rizikuosite pabandyti, štai jis:

<meta http-equiv="refresh" content="10; url=http://pavyzdys.lt/">

Content="10; nurodo naršyklei palaukti 10 s. prieš nukreipimą, pasirinkite kiek laiko norite, kad naršyklė lauktų, jūs net galite nustatyti 0 s..

Pastabos pabaigai
Labai svarbu išbandyti serverio atsaką pakeitus .htaccess failą!

Vertimas: ©Sineik, ©PhpFusion-lt.com