Miten PHP:llä on mahdollista toteuttaa tällainen osoite:
http://sivut.net/?sivu=galleria?kuvat=kaikki
Mm. esimmäinen osa ?sivu=galleria olisi Htaccessilla muutettu muotoon /galleria (http://sivut.net/galleria) ja perässä olisi ?kuvat=kaikki
Eli näin:
http://sivut.net/galleria/?kuvat=kaikki
Laitat galleria -hekmistoon index.php -tiedoston, joka lukee $_GET['kuvat'] arvon ja toimii sen mukaan.
Grez kirjoitti:
Laitat galleria -hekmistoon index.php -tiedoston, joka lukee $_GET['kuvat'] arvon ja toimii sen mukaan.
Niin mutta kun galleria -hakemistoa ei ole olemassa.
combo kirjoitti:
Miten PHP:llä on mahdollista toteuttaa tällainen osoite:
Eikö tuon jälkimmäisen ?- merkin pitäisi olla &- merkki? Eli näin:
../?sivu=galleria&kuvat=kaikki
Onnistuu varmaan helpoiten apachen htaccess tiedostoilla, eikä php:llä (mikälisikäli sattuu edes olemaan mahdollista).
jo123 kirjoitti:
Onnistuu varmaan helpoiten apachen htaccess tiedostoilla, eikä php:llä (mikälisikäli sattuu edes olemaan mahdollista).
No eikös aloittaja kertonut että "esimmäinen osa ?sivu=galleria olisi Htaccessilla muutettu muotoon /galleria", joten oletettavasti tuo htaccess -puoli on jo hanskassa.
combo kirjoitti:
Niin mutta kun galleria -hakemistoa ei ole olemassa.
Miten nyt putosin kärryiltä... Luulisin että hakemiston luominen sivutilaan on ihan triviaali juttu.
Grez kirjoitti:
No eikös aloittaja kertonut että "esimmäinen osa ?sivu=galleria olisi Htaccessilla muutettu muotoon /galleria", joten oletettavasti tuo htaccess -puoli on jo hanskassa.
No voi mökö. Yleisesti tapanani ei ole ollut lukea viestejä huolimattomasti...
Grez kirjoitti:
combo kirjoitti:
Niin mutta kun galleria -hakemistoa ei ole olemassa.
Miten nyt putosin kärryiltä... Luulisin että hakemiston luominen sivutilaan on ihan triviaali juttu.
Kyllähän minä osaan tottakai hakemistoja sivutilaan luoda. Tarkoitus olisi että osoitteesta http://sivut.net/?sivu=galleria?kuvat=kaikki alku ?sivu=galleria muutetaan Htaccessilla /galleria/:ksi ja toinen osa ?kuvat=kaikki pysyisi ennallaan, eli:
http://sivut.net/galleria/?kuvat=kaikki
Tällä tavalla kuten Putkassa on joskus ollut: http://web.archive.org/web/20020617121400/https:
Ja täällä jotain ikivanhaa keskustelua: https://www.ohjelmointiputka.net/keskustelu/319-sivu-jotain-ei-toimi/sivu-1#v2231
Niin no edelleen on hukassa että mihin kysymykseen haluat vastauksen.
Jos olen oikein kirjoituksesi ymmärtänyt, niin sinulla on ymmärrys siitä miten ohjaus tehdään Htaccessilla.
Eli eihän tuossa PHP:llä tarvitse sitten tehdä mitään normaalista poikkeavaa ja tämänkin sanoit olevan OK. Eli ainoa ongelma oli että "galleria -hakemistoa ei ole olemassa." ja siihen en osaa antaa muuta neuvoa kuin että luo ko. hakemisto.
Ehkä combo tarkoittaa, että osoitteessa lukee /galleria/ ja tämä on htaccessilla muutettu muotoon /index.php?sivu=galleria. Varmaan puuttuva magia on silloin htaccessin korvausrivin perästä QSA-lippu. Googleta lisätietoa.
Mikä ihmeen hinku kaikilla on tehdä näitä htaccess-viritelmiä? Mitä etua saavutetaan sillä, että galleria-hakemistoa ei ole oikeasti olemassa? Ja jos kerran osoitetta käpistellään kuitenkin mod_rewritella, miksi osoitteen pitää olla "/galleria/?kuvat=kaikki" eikä esimerkiksi tyylikkäämmin "/galleria/kuvat/kaikki"?
Metabolix kirjoitti:
Ehkä combo tarkoittaa, että osoitteessa lukee /galleria/ ja tämä on htaccessilla muutettu muotoon /index.php?sivu=galleria. Varmaan puuttuva magia on silloin htaccessin korvausrivin perästä QSA-lippu. Googleta lisätietoa.
Miten voi olla vaikeaa tajuta normaalia Suomen kieltä, kirjoitin näin: "?sivu=galleria muutetaan Htaccessilla /galleria/:ksi ".
Metabolix kirjoitti:
Mikä ihmeen hinku kaikilla on tehdä näitä htaccess-viritelmiä? Mitä etua saavutetaan sillä, että galleria-hakemistoa ei ole oikeasti olemassa? Ja jos kerran osoitetta käpistellään kuitenkin mod_rewritella, miksi osoitteen pitää olla "/galleria/?kuvat=kaikki" eikä esimerkiksi tyylikkäämmin "/galleria/kuvat/kaikki"?
Sivusto voi olla helpompi toteuttaa, kuten minä olen tehnyt, että yhdellä sivulla haetaan tietokannasta aina sivu ja osoite muutetaan muodosta ?sivu=etusivu muotoon /etusivu/. Minun tapauksessa ei ole mitään järkeä alkaa ruveta joka sivusta tekemään omaa hakemistoa.
Älkääs nyt tarttuko tuon Htacess -juttuun vaan siihen että onko mahdollista jollakin tavalla toteuttaa sivujen osoite muotoon: ?sivu=uutiset?uutinen=12
combo kirjoitti:
Älkääs nyt tarttuko tuon Htacess -juttuun vaan siihen että onko mahdollista jollakin tavalla toteuttaa sivujen osoite muotoon: ?sivu=uutiset?uutinen=12
Tarkoittanet muotoon:
?sivu=uutiset&uutinen=12
Tuolloinhan "sivu" on $_GET["sivu"] -parametrissä ja vastaavasti "uutinen" on $_GET["uutinen"]. Älä siis sotke useita "kysymysmerkkejä" tuonne urliin vaan ensimmäiseksi tulee kysymysmerkki ja muuttujien väliin tulee & -merkit.
Lebe80 kirjoitti:
combo kirjoitti:
Älkääs nyt tarttuko tuon Htacess -juttuun vaan siihen että onko mahdollista jollakin tavalla toteuttaa sivujen osoite muotoon: ?sivu=uutiset?uutinen=12
Tarkoittanet muotoon:
?sivu=uutiset&uutinen=12Tuolloinhan "sivu" on $_GET["sivu"] -parametrissä ja vastaavasti "uutinen" on $_GET["uutinen"]. Älä siis sotke useita "kysymysmerkkejä" tuonne urliin vaan ensimmäiseksi tulee kysymysmerkki ja muuttujien väliin tulee & -merkit.
Kyllä minä osaan tuollaisia osoitteita: ?sivu=uutiset&uutinen=12 tehdä. Tarkoitin juuri niin kuin aikaisemmassa viestissäni oli että onko mahdollista tehdä osoitetta sillä tavalla (?sivu=uutiset?uutinen=12)
Miten Mureakuhassa on toteutettu kysymerkki osoitteen välissä:
Tuossa ei ole yhtään mitään järkeä. Antamassasi Mureakuhan linkissäkin on vain yksi kysymysmerkki siellä missä pitääkin. Mitä oikein yritit sanoa?
combo kirjoitti:
Miten Mureakuhassa on toteutettu kysymerkki osoitteen välissä:
Kysymysmerkissä ei ole mitään ihmeellistä, mutta GET-parametrit erotetaan toisistaan &-merkeillä. Tuossa Mureakuhan osoitteessa on kaksi parametria (parametri "p" arvolla "keskustelut" ja parametri "id" arvolla "2?2").
Mikä tässä vielä on ongelmana?
combo kirjoitti:
Miten voi olla vaikeaa tajuta normaalia Suomen kieltä, kirjoitin näin: "?sivu=galleria muutetaan Htaccessilla /galleria/:ksi ".
Jos oletetaan, että sinun sanasi pitää paikkansa, selain pyytää siis sivua "/index.php?sivu=galleria", minkä jälkeen mod_rewrite muuttaa pyynnön muotoon "/galleria/" ja palvelin yrittää lukea hakemistosta nimeltä "galleria" tiedostoa nimeltä "index.php" (tai .html). Ratkaisu, kuten Grez sanoikin, on luoda kyseinen hakemisto ja tiedosto.
Joten katso vain peiliin niiden ymmärrysongelmiesi kanssa. Miten voi olla noin vaikea tajuta HTTP-protokollan toimintaa? Ja kun saat itsetutkiskelusi hoidettua, voit lukea uudestaan antamani neuvon mahdollisesta ratkaisusta (tai Grezin neuvon, jos todella tarkoitat, mitä sanot).
Aihe on jo aika vanha, joten et voi enää vastata siihen.