FAQ |
Kalender |
![]() |
#1 | |||
|
||||
Har WN som tidsfördriv
|
Hej,
Jag har en sida jag vill göra där jag mer eller mindre automatiskt ska skapa undermappar utifrån variabler i en tabell. Ett exempel: TabellID - TabellVariabel 1 - kossa 2 - hund 3 - katt så ska man kunna skapa en sida som heter tex: www.doman.com/var.php?varnamn=katt men få den visad som www.doman.com/katt/ - på samma sätt som i Wordpress alltså. Självklart behövs det lite $_POST och liknande på var.php-sidan men visst är det bara en htaccess-pryl annars? Vad ska jag i såna fall skriva? |
|||
![]() |
![]() |
![]() |
#2 | |||
|
||||
Mycket flitig postare
|
Kolla på mod_rewrite så slipper du blanda in mySQL när du väl kodat färdigt din sida.
|
|||
![]() |
![]() |
![]() |
#3 | |||
|
||||
Har WN som tidsfördriv
|
Tack för puffen i rätt riktning. Hittade en nybörjarguide (http://www.workingwith.me.uk/article...ng/mod_rewrite) som gav mig följande kod:
RewriteEngine on RewriteRule ^([^/\.]+)/?$ var.php?variable=$1 [L] Vilket visade sig fungera riktigt bra. Mitt enda aber är att nu kan man skriva in tex doman.com/hund och doman.com/hund/ och få samma respons och det gillar ju inte Google. Jag vill att alla doman.com/hund ska bli doman.com/hund/ - går det? Nån som isf vet hur man tweakar koden ovan? |
|||
![]() |
![]() |
![]() |
#4 | |||
|
||||
Medlem
|
Tror det är följande du letar efter:
RewriteCond %{REQUEST_URI} ^/[^\.]+[^/]$ RewriteRule ^(.*)$ http://%{HTTP_HOST}$1/ [R=301,L] |
|||
![]() |
![]() |
![]() |
#5 | ||
|
|||
Banned
|
Kod:
<link rel="canonical" href="doman.com/hund" /> |
||
![]() |
![]() |
![]() |
#6 | ||
|
|||
Klarade millennium-buggen
|
Citat:
Om du vill peka hund mot hund/ är det bara: RewriteRule ^hund$ hund/ [L] |
||
![]() |
![]() |
![]() |
#7 | |||
|
||||
Har WN som tidsfördriv
|
Stort, stort tack för alla era svar, jag tycker detta är skitsvårt och har hoppat runt på en rad bloggar och sidor utan att bli nämnvärt klokare. Det är ju trial and error-programmering utan felkoder
![]() Jag börjar dock närma mig nu via ErikStenmans förslag. Följande: RewriteEngine on RewriteRule ^([^/\.]+)/$ var.php?variable=$1 [L] Ger rätt respons, man får då: - www.doman.com/hund/ = OK dock ger fortfarande - www.doman.com/hund - 404 vilket är bättre än att båda ger ok. "hund" är dock en variabel så hur kan jag ersätta det du skrev Erik med en variabel (wildcard)? Som hnn skrev kan jag också sätta: link canonical "doman.se/<wildcard>/" för att inte riskera GoogleWrath men det är ju lika bra att försöka lösa det rent tekniskt från början. Sen kanske man borde fundera på aspekten att www.doman.se/hund rent SEO-mässigt skulle kunna vara lite bättre än www.doman.se/hund/ eftersom det är två olika nivåer i en mappstruktur. Några kommentarer ang det? Personligen tycker jag det ser snyggare ut med trailing slash och misstänker att det inte kan ge så otroligt stor skillnad. Eller? |
|||
![]() |
![]() |
![]() |
#8 | |||
|
||||
Medlem
|
Mitt förslag ovan lägger till / i slutet av adressen om det saknas.
Citat:
|
|||
![]() |
![]() |
![]() |
#9 | |||
|
||||
Har WN som tidsfördriv
|
Col: Nu glömde jag att kommentera ditt svar, men det fungerade inte. Jag skrev då:
RewriteEngine on RewriteCond %{REQUEST_URI} ^/[^\.]+[^/]$ RewriteRule ^(.*)$ http://%{HTTP_HOST}$1/ [R=301,L] men då blir www.doman.se/variabel/ en 404 (sidan kan inte hittas) medan www.doman.se/variabel inte heller kan hittas (den försöker skapa "www.doman.sevariabel." - därtill tar väl din lösning inte $_POST i beaktande, eller? Jag kan dock inte se om så är fallet... MEN...jag är otroligt tacksam för att du försöker. Upphör aldrig att förvånas över hjälpsamheten här på WN! |
|||
![]() |
![]() |
![]() |
#10 | |||
|
||||
Har WN som tidsfördriv
|
Bump.
Jag har nu ändrat mig lite i hur jag vill bygga länkarna. Vill nu ha www.doman.se/hund och inte www.doman.se/hund/ Jag använder mig av följande: Options -MultiViews RewriteEngine on RewriteBase / RewriteRule ^([^/\.]+)/?$ var.php?variable=$1 [L] som fungerar utmärkt i att ge en snygg adress. Därtill har jag satt en link ref=canonical som säger till google att det är den som gäller. Det enda som inte fungerar nu är att www.doman.se/hund/ fortfarande är en "fungerande" hänvisning. Jag vill att den ska 301:a till www.doman.se/hund. Hur ändrar jag ovanstående kod till att få det att fungera? |
|||
![]() |
![]() |
Svara |
|
|