mod_rewrite - Fjern query string fra dynamisk URL

Tags:    php

<< < 12 > >>
Jeg genoptager tråden, da jeg desværre ikke har fået løst mit .htacess problem.

Jeg vil meget gerne have fjernet det meste af den query string der viser sig i url'en, pga min side er bygget fra databasen som flg.:
Fold kodeboks ind/udPHP kode 


Det giver mig en url som ser således ud:
http://www.enkelt-webdesign.dk/index.php?sid=2&titel=WEBDESIGN
Og det jeg gerne vil opnå er:
http://www.enkelt-webdesign.dk/WEBDESIGN(hvis den er valgt..)
Så jeg vil gerne af med:
index.php?sid=2&titel=

Selvfølgelig ikke KUN sid=2, men den variabels indhold der nu måtte komme efter sid= og titel=

-----------------------------------------------------------

Efter kyndig hjælp herinde, er jeg kommet frem til at have nedenstående stående i min .htacess fil på hosting serveren:
Fold kodeboks ind/udPHP kode 



Jeg fik så at vide at jeg skulle parse:
<?php $_SERVER['REQUEST_URI']; ?>


Så læste jeg rundt på nettet for at finde hoved og hale i hvordan det kunne gøres, for til sidst at ende her igen med det samme spørgsmål.

Skal jeg bare skrive:
<?php $_SERVER['REQUEST_URI']; ?>

- i toppen af mit script? (index.php)

Jeg famler i blinde med det her apache mod_rewrite.

Med ovenstående i min .htacess fil, så ændrer urls sig ikke, men sidens css forsvinder, og det er vel pga at der er sket noget, men der mangler en redirect tilbage, eller?

Hvis jeg laver absolutte stier til mine filer, stylesheetet, så ville det måske ikke være noget problem?

Men jeg mangler dog stadig at få lavet de pænere seo venligere Urls. Og få skrevet det ind der skal. Men jeg har nul erfaring i apaches mod_rewrite, og må sige at være lidt forvirret..

Jeg håber en eller flere kan sparke mig videre i forløbet!



Indlæg senest redigeret d. 25.08.2011 19:13 af Bruger #16555
14 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Kan du ikke bare gøre følgene?:

Fold kodeboks ind/udKode 


Og så skrive eksempelvis
domæne.dk/website/



Jeg prøver lige en gang!

Vil det fjerne: index.php?sid=1&titel=

?

Jeg uploader det lige og ser hvad der sker.

UPDATE:

Det skete der ikke noget ved.

jeg prøvede med:
Fold kodeboks ind/udPHP kode 

og
Fold kodeboks ind/udPHP kode 


Jeg er en komplet dør til det!

NB: hvis nogen tvivl, så er det når linksne klikkes på, at jeg vil vise den pæne URL, og så på serveren finde den grimme og hente info fra databasen.



Indlæg senest redigeret d. 25.08.2011 19:21 af Bruger #16555
Jeg vil foreslå at du fjerner sid, og kun kører igennem title.

Såsom:
domæne.dk/?side=webdesign

Og laver det om til
domæne.dk/webdesign/

med .htaccess.

Så får at det kan virke, så kan du gøre som følgene:

Fold kodeboks ind/udPHP kode 




Indlæg senest redigeret d. 25.08.2011 19:25 af Bruger #16025
Men hele sitet, og alt indhold er fra databasen.

Dvs. når et link er valgt, finder jeg det rigtige indhold til siden via det sid=(værdi) der var i $_GET variablen.

Så den kan jeg vel ikke fjerne, altså sid=(det id der blev fundet i DB)?

Hele sitet er lavet som et CMS, jeg har arbejdet på - og jeg mangler kun de urls, men det er også en kamp!



Du bliver nød til at hente title fra databasen.
Du kan give rækken i tabellen som skal vælges, en titel som skal være "den pæne url" i adressefeltet - så henter den ud fra titlen istedet for sid.



Det er den allerede:

Fold kodeboks ind/udPHP kode 


Så vidt jeg ved, kan jeg vel ikke bygge navigationen på andre måder fra databasen.

Jeg ved at man med mod_rewrite kan fikse det, men har desværre ikke kendskab til at kode i det :-/



Altså, der er selvfølgelig andre måder i php du kan gøre det på. Lidt ligesom en function, det syntes jeg så bare er besværligt lige i den situation. Det er bare en mysql_query og en while, og så er den fixed.

Men når man er inde på siden, så tager den kun siden efter sid, og ikke linknavn. Derfor vil jeg foreslå at du kun gør det igennem linknavn.



Jeg mente at det var den eneste måde JEG kunne gøre det på :-)

Jah så længe det er unikke link navne, er der jo ikke nogle navne sammenfald.

Har jo brugt id fra databasen, da det er unikt.

men selvom jeg benytter kun linknavn, så vil jeg stadig have:

domænenavn.dk/index.php?titel=forside

f.eks.

Eller hvordan ville du fikse det?

Jeg ville nu foretrække at beholde min nuværende struktur, så intet skal ændres på sitet, men rette urls via .htaccess.

Nogen guldkorn hertil?

Iøvrigt tak for svarene!



Indlæg senest redigeret d. 25.08.2011 19:49 af Bruger #16555
Jeg ville stadig gøre det med linknavn.

Eksempelvis:
domæne.dk/index.php?titel=forside
bliver til
domæne.dk/

og
domæne.dk/index.php?titel=linknavn
bliver til
domæne.dk/linknavn/

Det gør du bare med den jeg skrev til dig, omkring .htaccess:
Fold kodeboks ind/udKode 


Det er simpelt.



Indlæg senest redigeret d. 25.08.2011 19:54 af Bruger #16025
Ok, så når jeg undgår sid i urlen, kan jeg bare sætte den Rewrite_Rule ind, og så er det klaret?

Jeg vil prøve at gøre det på det næste projekt.

Men pga. stædighed, så vil jeg finde ud af hvordan jeg kan få det til at virke via .htacess, om så jeg skal blive gammel og grå inden..





<< < 12 > >>
t