/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
modrewrite ballade
Fra : Sune Storgaard


Dato : 02-06-08 17:05

I erkendelse af at regulære og mod_rewrite og mig ikke er så pokkers gode
venner, håber jeg at kunne få lidt hjælp her..

Et site kører på en enkelt fil index.php , hvori der så inkluderes selve
indholdet , baseret på argumenter:

website.invalid/index.php?inkludeindhold=forside
website.invalid/index.php?inkludeindhold=kontakt
website.invalid/index.php?inkludeindhold=produkt

Alle url's er rewritet til eks. website.invalid/forside , for at få en
pænere url.
Alt dette kører ok, og er manuelt omskrevet i. htaccess, da det i nuværende
tilstand er 5 side

Nu vil jeg så have mulighed for at linke til en dynamisk side:
website.invalid/produkt/EnhedA
website.invalid/produkt/EnhedB

EnhedA osv er dynamisk genereret i en fil produkt.php , der som de andre
blivert inkluderet i index.php .
Spørgsmålet er så, hvordan jeg kan have en hvilken som helst url, med
følgende udseende:
website.invalid/produkt/enhedX, som bliver omdirrigeret til filen
website.invalid/index.php?inkludeinhold=produkt&produktet_er_EnhedX

website.invalid kan/skal udelukkes, således det bare er index.php..

Nogen forslag ?





 
 
Martin (03-06-2008)
Kommentar
Fra : Martin


Dato : 03-06-08 14:54

Sune Storgaard wrote:
> I erkendelse af at regulære og mod_rewrite og mig ikke er så pokkers gode
> venner, håber jeg at kunne få lidt hjælp her..

<http://www.workingwith.me.uk/articles/scripting/mod_rewrite>
Er nok den bedste guide jeg endnu har læst...

Bare lige så du har den :)

>
> Et site kører på en enkelt fil index.php , hvori der så inkluderes selve
> indholdet , baseret på argumenter:
>
> website.invalid/index.php?inkludeindhold=forside
> website.invalid/index.php?inkludeindhold=kontakt
> website.invalid/index.php?inkludeindhold=produkt

// Sider
RewriteRule ^([^/\.]+)/?$ index.php?inkludeindhold=$1

// Produkt/ID
RewriteRule ^produkt/([^/\.]+)/?$ index.php?inkludeindhold=produkt&id=$1

Noget ala sådan måske


>
> Alle url's er rewritet til eks. website.invalid/forside , for at få en
> pænere url.
> Alt dette kører ok, og er manuelt omskrevet i. htaccess, da det i nuværende
> tilstand er 5 side
>
> Nu vil jeg så have mulighed for at linke til en dynamisk side:
> website.invalid/produkt/EnhedA
> website.invalid/produkt/EnhedB
>
> EnhedA osv er dynamisk genereret i en fil produkt.php , der som de andre
> blivert inkluderet i index.php .
> Spørgsmålet er så, hvordan jeg kan have en hvilken som helst url, med
> følgende udseende:
> website.invalid/produkt/enhedX, som bliver omdirrigeret til filen
> website.invalid/index.php?inkludeinhold=produkt&produktet_er_EnhedX
>
> website.invalid kan/skal udelukkes, således det bare er index.php..
>
> Nogen forslag ?
>
>
>
>

Martin (03-06-2008)
Kommentar
Fra : Martin


Dato : 03-06-08 14:55

Martin wrote:
> Sune Storgaard wrote:
>> I erkendelse af at regulære og mod_rewrite og mig ikke er så pokkers
>> gode venner, håber jeg at kunne få lidt hjælp her..

Hov glemte lige...
Prøv at spørge i apache gruppen, det er jo ikke noget med PHP at gøre,
men med Apache webserveren at gøre :)

dk.edb.internet.software.apache

Sune Storgaard (03-06-2008)
Kommentar
Fra : Sune Storgaard


Dato : 03-06-08 20:44

"Martin" <maaNO@SPAMscandesigns.dk> skrev i en meddelelse
news:48454d25$0$90272$14726298@news.sunsite.dk...

> // Produkt/ID
> RewriteRule ^produkt/([^/\.]+)/?$ index.php?inkludeindhold=produkt&id=$1
>
> Noget ala sådan måske

Ja det kunne faktisk godt være lige det, om det er helt bulletproof ved jeg
ikke, men det er til det her formål også ligegyldigt.

Den umiddelbare ulempe er så at det ikke er helt lige til at hive et $id ud
af url'en når den hedder
produkt/3 , hvor det var lige til at hive den ud når den ud med $_GET før.

Problemet blev løst med en
$nyurl=explode("/", $_SERVER['REQUEST_URI']);hvor produkt så ligger i
$nyurl[2] -alt efter hvor langt den er henne i url'en...så nåede jeg også at
blive ontopic i php gruppen :)Tak for input og link



Martin (04-06-2008)
Kommentar
Fra : Martin


Dato : 04-06-08 00:54

Sune Storgaard wrote:
> "Martin" <maaNO@SPAMscandesigns.dk> skrev i en meddelelse
> news:48454d25$0$90272$14726298@news.sunsite.dk...
>
>> // Produkt/ID
>> RewriteRule ^produkt/([^/\.]+)/?$ index.php?inkludeindhold=produkt&id=$1
>>
>> Noget ala sådan måske
>
> Ja det kunne faktisk godt være lige det, om det er helt bulletproof ved jeg
> ikke, men det er til det her formål også ligegyldigt.
>
> Den umiddelbare ulempe er så at det ikke er helt lige til at hive et $id ud
> af url'en når den hedder
> produkt/3 , hvor det var lige til at hive den ud når den ud med $_GET før.

Hvis du har produkt/3 i stien, så laver apache stien om til

index.php?inkludeindhold=produkt&id=3
også kan du skam stadig hente det med $_GET['id']

Sune Storgaard (04-06-2008)
Kommentar
Fra : Sune Storgaard


Dato : 04-06-08 15:53

"Sune Storgaard" <nospam@strueradsl.invaliDK> skrev i en meddelelse
news:48459f11$0$90267$14726298@news.sunsite.dk...
> "Martin" <maaNO@SPAMscandesigns.dk> skrev i en meddelelse
> news:48454d25$0$90272$14726298@news.sunsite.dk...
>
>> // Produkt/ID
>> RewriteRule ^produkt/([^/\.]+)/?$ index.php?inkludeindhold=produkt&id=$1

> Ja det kunne faktisk godt være lige det, om det er helt bulletproof ved
> jeg ikke, men det er til det her formål også ligegyldigt.

Hov.. der sker der at "current dir" bliver sat til /produkt , således at
alle relative stier nu er forkerte.

Altså hvis man i index.php har et img src=grafik/a.jpg" Så bliver stien til
den produkt/grafik/a.jpg
Hvilket jo ikke er så smart.. Jeg forsøgte med ../index.php i rewriterule,
men det ser ud til ikke at være understøttet.. hvad gør man så ? -udover at
ændre alle relative stier



Martin (04-06-2008)
Kommentar
Fra : Martin


Dato : 04-06-08 17:06

Sune Storgaard wrote:
> "Sune Storgaard" <nospam@strueradsl.invaliDK> skrev i en meddelelse
> news:48459f11$0$90267$14726298@news.sunsite.dk...
>> "Martin" <maaNO@SPAMscandesigns.dk> skrev i en meddelelse
>> news:48454d25$0$90272$14726298@news.sunsite.dk...
>>
>>> // Produkt/ID
>>> RewriteRule ^produkt/([^/\.]+)/?$ index.php?inkludeindhold=produkt&id=$1
>
>> Ja det kunne faktisk godt være lige det, om det er helt bulletproof ved
>> jeg ikke, men det er til det her formål også ligegyldigt.
>
> Hov.. der sker der at "current dir" bliver sat til /produkt , således at
> alle relative stier nu er forkerte.
>
> Altså hvis man i index.php har et img src=grafik/a.jpg" Så bliver stien til
> den produkt/grafik/a.jpg
> Hvilket jo ikke er så smart.. Jeg forsøgte med ../index.php i rewriterule,
> men det ser ud til ikke at være understøttet.. hvad gør man så ? -udover at
> ændre alle relative stier

Pssst... apache gruppen er åben :)

Søg
Reklame
Statistik
Spørgsmål : 177580
Tips : 31968
Nyheder : 719565
Indlæg : 6409082
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste