Permalänk
Medlem

mod_rewrite och .htaccess

Har googlat och läst forum sen midnatt men inte hittat någon lösning...

Jag vill kunna skriva www.minsajt.se/meat och då komma till www.minsajt.se/index.php?user=meat och detta har jag väl på sätt och vis lyckats med.

Problemet är att urlen i adressfältet då ändras så egentligen är det inte snyggare än än vanlig forward. Dessutom ändras den inte till det "riktiga" www.minsajt.se/index.php?user=meat utan helt bisarrt blir det www.minsajt.se/meat/?user=meat Detta tycker jag varken är snyggt eller hjälpsamt för besökarna.

Jag vill att det ska se ut som på warpdrive, där warpdrive.se/senaste inte byts ut mot warpdrive.se/index.php?q=senaste (eller hur det nu är uppbyggt) utan att det fortsätter stå /senaste/ när man gått dit. Hur gör man?

Min kod i .htaccess:

RewriteEngine on RewriteRule ^([^/\.]+)/?$ index.php?user=$1 [L]

Tack på förhand!
/den tröge och sömnlöse

Permalänk
Medlem

Det verkar som att du saknar ett / i din regel; Apache kommer nog inte se den som giltig (se exemplen i slutet av mod_rewrite-dokumentationen). Det här borde fungera:

RewriteEngine on RewriteRule ^([^/\.]+)/?$ /index.php?user=$1 [L]

Passa även på att läsa Apaches URL Rewriting Guide också om du nu ändå ska leka med mod_rewrite.

Permalänk
Medlem

JAAA! Jag tänkte väl att det var nån störig liten sak, det jag skrivit såg ju ungefär ut som alla exempel.

Jag ska läsa guiden noga nu när jag säkert vet att jag kan göra sånt jag vill med hjälp av det här!

You, du är helt fantastisk, jag tror du har svarat på i stort sett alla mina frågor här! Det är såna som du som gör att jag inte törs svara själv till andra :D. Stort tack!

Permalänk
Medlem

Jag lånar den här tråden.. Har ungefär samma problem. Den där regeln borde väl fungera i mitt exempel med? Har gjort ett litet script där man kan skapa sin egna gästbok typ. Vill att det ska stå gb/(id)..
Så här ser .htaccess ut:

<IfModule mod_rewrite.c> RewriteBase / RewriteEngine on RewriteRule ^([^/\.]+)/?$ /gb.php?id=$1 [L] </IfModule>

Jag använder mig av loopia som webbhotell och där stod det att man skulle skriva RewriteBase /
Vad är det som kan vara fel? :9

Permalänk
Medlem
Skrivet av Zart:

Jag lånar den här tråden.. Har ungefär samma problem. Den där regeln borde väl fungera i mitt exempel med? Har gjort ett litet script där man kan skapa sin egna gästbok typ. Vill att det ska stå gb/(id)..
Så här ser .htaccess ut:

<IfModule mod_rewrite.c> RewriteBase / RewriteEngine on RewriteRule ^([^/\.]+)/?$ /gb.php?id=$1 [L] </IfModule>

Jag använder mig av loopia som webbhotell och där stod det att man skulle skriva RewriteBase /
Vad är det som kan vara fel? :9

Den där regeln rewritear "/ID" till "/gb.php?id=ID". Du vill ha följande regel:

RewriteRule ^gb/([^/\.]+)/?$ /gb.php?id=$1 [L]

Permalänk
Medlem

Okej, jag ändrade till den där regeln nu. Men det händer ingenting på sidan. Går det att kolla om den ens läser in .htaccess-filen?