FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Medlem
|
Tjenare!
Som det ser ut nu så kör jag mod_rewrite på mitt loopia konto. Jag vill att http://www.domän.se/index.php?string=flygresor skall fungera som http://www.domän.se/flygresor/ Jag har samma rewriterule på en binero server och där fungerar det utmärkt. Idag fungerar http://www.domän.se/flygresor Men så fort jag lägger till ett / så blir det något knas och den läser inte in stringen ordentligt, kommer till en sida utan css osv. Regeln jag satt är: RewriteEngine on RewriteBase / RewriteRule ^([a-z0-9_-]+)/?$ /index.php?string=$1 Någon med tips? |
||
![]() |
![]() |
![]() |
#2 | |||
|
||||
Medlem
|
Eftersom du säger att du kommer till en sida utan css m.m. misstänker jag att det är sidan du kommer till som inte anropar css-filen rätt.
Inleder du css-filens namn med / så att den hämtas från roten och inte från mappen /flygresor/ (alltså "/ccsfilen.css" istället för "cssfilen.css")? Detsamma med bildnamn, de måste också börja med / för att läsas in korrekt. Jag gjorde det misstaget när jag började med mod_rewrite. /Peter |
|||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Medlem
|
Hej, Css.en anropas via /style.css så det borde inte vara felet.
Men frågan är: Vad är skillnaden på http://www.domän.se/flygresor och http://www.domän.se/flygresor/ ? |
||
![]() |
![]() |
![]() |
#4 | |||
|
||||
Mycket flitig postare
|
Vad jag kan se så tar du ju med allt efter / som parameter till index.php.
(RewriteRule ^([a-z0-9_-]+)/?$ /index.php?string=$1 ) Dvs http://www.domän.se/flygresor/ blir (väl?) index.php?string=flygresor/ Antar att du inte hanterar värdet "flygresor/" i din "string"-parameter?! |
|||
![]() |
![]() |
![]() |
#5 | ||
|
|||
Medlem
|
Citat:
Jag får väl passa på att nämna att jag är ganska fräsch på det här. Därav kommer frågeställningen. Finns det något jag kan göra för att det sista / inte skall räknas in i string parametern? |
||
![]() |
![]() |
![]() |
#6 | |||
|
||||
Medlem
|
Citat:
Kod:
RewriteRule ^([a-z0-9_-]+)/?$ /index.php?string=$1 $ innebär slutet av raden /?$ innebär att före slutet kan det vara ett /. [a-z0-9_-]+ innebär ett eller flera av specifierade tecken (matchar "flygresor"). ([a-z0-9_-]+) innebär att det som matchas av parantes-innehållet ska grupperas i $-variabler. Så resultatet borde bli /index.php?string=flygresor oavsett om du anropar /flygresor/ eller /flygresor. Däremot kommer den inte att matcha för /flygresor/kalle.css . Det jag brukar göra när jag testar sådana saker är att skriva om regeln lite: Kod:
RewriteRule ^([a-z0-9_-]+)/?$ /phpinfo.php?string=$1 Kod:
<?php phpinfo(); ?> Det jag misstänker är att du gör något mer avancerat i ditt index.php och det är därför css-anropet blir fel. Alternativt att du råkar göra en rewrite på css-anropet till index.php?string=style.css Kontrollera källkoden till sidan (via webblässaren) när den ser fel ut och jämför med när den ser rätt ut. |
|||
![]() |
![]() |
![]() |
#7 | |||
|
||||
Mycket flitig postare
|
Hadde ungefär samma problem igår, och för mig var det cssen, så pröva lägg in hela urlen alltså http://www.domän.com/style.css så ska det inte vara några tvivel...
|
|||
![]() |
![]() |
Svara |
|
|