Paieška


print PDF
Keletas mod_rewrite patarimų

Mod_rewrite galima naudoti OVH priegloboje (išskyrus 20gp planą).
Išsamią dokumentaciją rasite Apache svetainėje.



Paprastas nukreipimas

  • Redaguokite failą .htaccess:

RewriteEngine On
RewriteRule .* testing.php


Ši konfigūracija nukreips visas užklausas į scenarijų testing.php.

  • Arba

RewriteEngine On
RewriteRule letstest /test_wslash/testing.php


Ši konfigūracija nukreips visas užklausas, kuriose yra /letstest, į scenarijų /test_wslash/testing.php.

pavyzdys.com nukreipimas į www.exemple.com

  • Tai visuomet pakeis domeną be www į domeną su www (pavyzdys.com į www.pavyzdys.com):

RewriteEngine on
Rewritecond %{HTTP_HOST} ^pavyzdys.com$
Rewriterule ^(.*) http://www.pavyzdys.com/$1 [QSA,L,R=301]


URL perrašymas

Modulis mod_rewrite įgalina URL perrašymą.

  • .htaccess:

RewriteEngine On
RewriteCond %{REQUEST_URI} !testing.php
RewriteRule (.*) testing.php?var=$1


Šios taisyklės iššaukia scenarijų testing.php su kintamuoju GET, kuriame nurodomas vartotojo pageidaujamas URL.

  • php

<?
print("testing server <br/>\n");
print("var: $var\n");
?>


Automatinis vartotojo nukreipimas į svetainę su SSL, kai bandoma atverti neapsaugota svetainė

RewriteEngine on
Rewritecond %{HTTP_HOST} ^domenas.tld$
Rewriterule ^(.*) https://ssl5.ovh.net/~login_ftp/$1 [QSA,L,R=301]


  • Jeigu norite nukreipti ne į apsaugotą svetainę, o į konkretų puslapį:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^domenas.tld$
RewriteCond %{REQUEST_URI} ~094/puslapis.php
RewriteRule ^(.*) https://ssl5.ovh.net/~login_ftp/$1 [QSA,L,R=301]


Pastaba:
Savo prieglobos plano apsaugotą prieigą sužinosite šiame gide: SSL priegloboje.

Mod_rewrite ir Mod_ORT
ORT (OVH Redirect Technology - OVH nukreipimo technologija) yra OVH sukurtas modulis, leidžiantis talpinti daugiau svetainių naudojant mažiau RAM atminties.

Mod_ort pakeičia puslapio URI, todėl, jeigu naudosite mod_rewrite, gali kilti problemų. Problema išsprendžiama iš naujo nurodžius mod_rewrite šakninį rewrite katalogą:
RewriteRule ^/grp([0-9]+).php$ group.php?id=$1 [L]
RewriteRule ^/art([0-9]+).php$ article.php?id=$1 [L]
RewriteRule ^/age([0-9]+).php$ agenda.php?id=$1 [L]
RewriteRule ^/member_([0-9]+).php$ member.php?id=$1 [L]

Reikia pakeisti į:
RewriteRule ^/grp([0-9]+).php$ /group.php?id=$1 [L]
RewriteRule ^/art([0-9]+).php$ /article.php?id=$1 [L]
RewriteRule ^/age([0-9]+).php$ /agenda.php?id=$1 [L]
RewriteRule ^/member_([0-9]+).php$ /member.php?id=$1 [L]