htaccess rewrite-spørsmål

htaccess rewrite-spørsmål

Innleggav iatros » tir 15.04.2008 22:01

Relanserer noen nettsider nå, og de gamle sidene brukte oppsettet:
page.php?oldID=1234567,
mens de nye bruker
page.php?id=1234567
(altså har oldID -> id)

Fikk et tips om å sette det opp slik i htaccess, men det funker ikke.

Kode: Merk alt
RewriteEngine On
RewriteBase /
RewriteRule ^page\.php\?oldID=(.*)$ page.php?id=$1 [R=301,L]


Noen pointers å hente her? :)

Brukerens avatar
medlem i 233 måneder
 

Re: htaccess rewrite-spørsmål

Innleggav intramin » ons 16.04.2008 0:07

Kan denne fungere?
Kode: Merk alt
RewriteEngine on
RewriteRule ^page.php?id=([0-9]+)$ page.php?oldID=$1

Ellers så kan du vel bare forandre $_GET['oldID'] til $_GET['id'] i kildekoden.
For å få finere URLer kan du også gjøre slik:
Kode: Merk alt
RewriteEngine on
RewriteRule ^page/([0-9]+)$ page.php?oldID=$1

da blir URLen side.com/page/123 istedetfor side.com/page.php?oldID=123

Brukerens avatar
medlem i 212 måneder
 

Re: htaccess rewrite-spørsmål

Innleggav ak » ons 16.04.2008 0:45

Hvis det ikke fungerer, så inkluder en eksempel URL (du kan godt bytte ut servernavnet med noe annet, men resten må være identisk).

Eksempelvis kan RewriteBase være utslagsgivende, det er også mulig det skal være ^/page...

Administrator
Brukerens avatar
medlem i 237 måneder
 

Re: htaccess rewrite-spørsmål

Innleggav eelay » ons 16.04.2008 1:01

Er det sånn at du ønsker at de som går inn på de gamle sidene (altså http://www.ex.com/page.php?oldID=1234567) skal bli sent til de nye sidene(altså http://www.ex.com/page.php?id=1234567)?

Brukerens avatar
medlem i 199 måneder
 

Re: htaccess rewrite-spørsmål

Innleggav iatros » ons 16.04.2008 1:05

Takk for alle svar så langt.

La meg forklare litt bedre. Det ligger endel linker rundt omkring på nettet med følgende syntax:
http://www.filmene.no/review.php?dvdID=123456789

Jeg vil at disse skal sendes til:
http://www.filmene.no/review.php?id=123456789
(eller, som intramin skrev; http://www.filmene.no/review/123456789)

Brukerens avatar
medlem i 233 måneder
 

Re: htaccess rewrite-spørsmål

Innleggav eelay » ons 16.04.2008 2:40

Du kan prøve
Kode: Merk alt
Options +FollowSymlinks
RewriteEngine on
RewriteBase /

RewriteCond %{QUERY_STRING} ^dvdID=(.*)$

RewriteRule ^review.php$ review/%1?  [R=301]
RewriteRule ^review/([0-9]+)$ review.php?id=$1 [L]


Denne koden vil skrive om http://www.filmene.no/review.php?dvdID=123456789 til http://www.filmene.no/review/123456789

Brukerens avatar
medlem i 199 måneder
 

Re: htaccess rewrite-spørsmål

Innleggav iatros » ons 16.04.2008 3:20



Funka den, men ouch, det likte visst ikke Smarty noe særlig... Får visst bruke review.php?id=123456789... men... hvordan blir koden da? :''>

Brukerens avatar
medlem i 233 måneder
 

Re: htaccess rewrite-spørsmål

Innleggav eelay » ons 16.04.2008 7:16

Du kan da bruke
Kode: Merk alt
Options +FollowSymlinks
RewriteEngine on
RewriteBase /htac

RewriteCond %{QUERY_STRING} ^dvdID=(.*)$

RewriteRule ^review.php$ review.php?id=%1 [R=301,L]


Eller så kan det kanskje være at Smarty liker at du skriver om begge mulighetene (slik at både review,.php?dvdID=123 og review.php?id=123 blir .../review/123 )

Brukerens avatar
medlem i 199 måneder
 

Re: htaccess rewrite-spørsmål

Innleggav ak » ons 16.04.2008 15:18

Du må antageligvis droppe R (redirect), slik at det ser ut for folk som om de etterspør en pen URL, mens den blir skrevet om til den gamle måte før Smarty får forespørselene i fingrene.

Her er et triks:
Du kan legge på parametere uten at det får noen konsekvens for Smarty.

Så du kan
Redirecte fra
1) http://www.filmene.no/review.php?dvdID=123
til
2) http://www.filmene.no/review/123
og rewrite dette til
3) http://www.filmene.no/review.php?dummy=true&dvdID=123

Så trikset er at 1) må sjekke at URLen ikke inneholder dummy=true, ellers får du en uendelig løkke med rewrites og redirects.

Administrator
Brukerens avatar
medlem i 237 måneder
 

Re: htaccess rewrite-spørsmål

Innleggav iatros » ons 16.04.2008 22:47

Tusen takk for alle svar, det ordnet seg med det siste forslaget :)

Ikke dumt det du foreslår ak, skal prøve på noe sånt, det er vel mer søkemotorvennlig med slike linker enn '.php?id='-linker.

Brukerens avatar
medlem i 233 måneder
 

Re: htaccess rewrite-spørsmål

Innleggav rait.no » ons 23.04.2008 20:51

Hei.

Jeg har prøvd å få til rewrite på min debian-server.

men jeg får ikke til det som er skrevet:
RewriteEngine on
RewriteRule ^page/([0-9]+)$ page.php?oldID=$1

jeg får bare 500 - internal server error.

Noen forslag, anyone?

Brukerens avatar
medlem i 204 måneder
 

Re: htaccess rewrite-spørsmål

Innleggav eelay » ons 23.04.2008 21:05

Ser ingen problemer med koden jeg. har du aktivert mod_rewrite? å du har apache server?

Brukerens avatar
medlem i 199 måneder
 

Re: htaccess rewrite-spørsmål

Innleggav rait.no » ons 23.04.2008 21:17

sorry.
Spørre først - tenke etter?

Jeg måtte flytte inn rewrite.load fra mods-ava.. til mods-enabled.
og restarte apache2

Brukerens avatar
medlem i 204 måneder
 


Returner til Andre



Hvem er i Forumene

Registrerte brukere: Google [Bot]



cron