Autorius Tema: Paprasti rewritingo klausimai  (Skaityta 1680 kartus)

Neprisijungęs Tautvydas

  • Dalyvis
  • **
  • Įrašai: 438
  • Karma: +11/-0
    • Žiūrėti profilį
Paprasti rewritingo klausimai
« Įrašytas: 2014-07-18 17:31:45 pm »
RewriteRule ^([a-zA-Z0-9_-]+)$ puslapis.php?id=$1     -  šitas viskas paprasta, po pagr nuorodos einantis tekstas paduodamas _GET['id'] metodu. Šitą išsiaiškinau ir padariau
RewriteRule ^([a-zA-Z0-9_-]+)/$ puslapis.php?id=$1     - čia kad ir slash'ą galima būtų dėti po jo
RewriteRule ^/valdymas/megiami$     /megiami.php    [NC,L]         - o čia bandau padaryti, kad įvedus www.tinklapis.lt/valdymas/megiami   atidarytų to tinklapio www.tinklapis.lt/megiami.php failą. Deja, neina. Kaip tai padaryti?

Kitas klausiams, ką tas [NC,L] reiškia?

Dar vienas klausimukas:
RewriteRule ^pirtis/(.*?)/(.*?)$ /pirtis.php?id=$1&pavadinimas=$2

šitas veikia gerai, bet jeigu noriu pridėti dar vieną _GET parametrą, kurį nevisada naudočiau, bet kad toks egzistuotų, tai neina.. Bandau taip:
RewriteRule ^pirtis/(.*?)/(.*?)/(.*?)$ /pirtis.php?id=$1&pavadinimas=$2&papildomas_parametras=$3

Kas jame blogai?

Jei bent kurį punktą galit paaiškinti, iškart ir rašykit, nebūtinai visų iškart. Ačiū

Neprisijungęs ganjabest

  • Dalyvis
  • **
  • Įrašai: 968
  • Karma: +41/-1
  • Povilas Stankevičius
    • Žiūrėti profilį
Ats: Paprasti rewritingo klausimai
« Atsakymas #1 Įrašytas: 2014-07-19 00:14:56 am »
NC - ignoruoja didziasias mazasias raides.
L - nurodo, kad tai paskutine eilute taisykles aprasyme pvz:

RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/$1 [L]

RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /index.php?/$1 [L]

Del segmentu. Jeigu nori, kad veiktu kartais su dviem, kartais su trim. Tai rasai pirma ta kuris ilgesnis.

RewriteRule ^test/(.*?)/(.*?)/(.*?)$ test.php?pirmas=$1&antras=$2&trecias=$3
RewriteRule ^test/(.*?)/(.*?)$ test.php?pirmas=$1&antras=$2

Ir atsimink, kad sitas variantas nuskaito tik tikliai atitinkancia uzklausa. Taigi pvz nustates tik

RewriteRule ^test/(.*?)/(.*?)/(.*?)$ test.php?pirmas=$1&antras=$2&trecias=$3

Negali daryt uzklausos www.nuoroda.lt/test/1/2 nes netiks pagal salyga, kurioje reikalaujama triju segmentu. Todel ir neveiks. Beje kaip matai nedejau slash'o (/) pries test.php, del ko kogero pas tave ir neveikia. Nes tu tikrini URI string'a kuris eina po sito slash'o. O tavo atveju gaunas rewritngas toks, kad iesko "/pirtis.php" failo.

« Paskutinį kartą keitė: 2014-07-19 00:57:56 am sukūrė ganjabest »
Visi žmonės kaip žmonės - tik aš vienas kaip dievas!

Neprisijungęs Tautvydas

  • Dalyvis
  • **
  • Įrašai: 438
  • Karma: +11/-0
    • Žiūrėti profilį
Ats: Paprasti rewritingo klausimai
« Atsakymas #2 Įrašytas: 2014-07-25 10:39:57 am »
Dėkui, dabar labiau suprasiu, ką darau :D Reikės prasibandyti visokių variantų, kad išmokti normaliai perrašynėti tuos url

Manualai.lt Forumas

Ats: Paprasti rewritingo klausimai
« Atsakymas #2 Įrašytas: 2014-07-25 10:39:57 am »