Avatar billede webstuff Nybegynder
07. september 2006 - 17:26 Der er 16 kommentarer og
1 løsning

problemer med stylesheet (søgevenlige urls)

Hejsa

Jeg har et problem med min side.
Jeg har forsøgt at lave søgevenlige url's.
Og det virker sådan set også fint nok.

Jeg gjort det ved at smide dette i min .htaccess

ErrorDocument 404 /index.php

Og så finde de forskellige parametre ved at eksplodere REQUEST_URI.

F.eks så virker www.minside.dk/about fint nok.. Men hvis jeg f.eks skriver
www.minside.dk/about/bla

så går det galt, lige så snart der kommer mere end 1 parameter så går det i kage, det virker som den slet ikke inkluderer mit stylesheet..

I index inkluderer jeg siderne på denne måde:

$page = explode("/", $_SERVER['REQUEST_URI']);

switch($page['1'])
{
case "about": include("about.php");
break;

default: include("home.php");
}

Nogen der kan hjælpe ? :-)
Avatar billede erikjacobsen Ekspert
07. september 2006 - 17:44 #1
Så kan du sikkert lægge det ved siden af din index.php og skrive

  /dinstyle.css

i stedet for

  dinstyle.css

(sådan ca.)
Avatar billede webstuff Nybegynder
07. september 2006 - 19:34 #2
Den forstod jeg ikke helt eric.. Kan du forklare nærmere? ;o)
Avatar billede webstuff Nybegynder
07. september 2006 - 19:48 #3
Nu har jeg prøvet at flytte mit stylesheet direkte ind i min index.php
Og nu virker stylesheettet, men de forskellige billeder virker ikke nu.

Det skal lige siges at nogle af filerne ligger i andre mapper, så tror måske det kan være det.
Avatar billede webstuff Nybegynder
07. september 2006 - 19:52 #4
Nu har jeg også fået billederne til at virke, ved at skrive den fuldkomne sti i stylesheetet..

Men du kan se siden her hvis du vil, så kan du måske bedre se hvad der er galt :-)

http://www.cases.hotserv.dk/
Avatar billede erikjacobsen Ekspert
07. september 2006 - 19:52 #5
du skal blot starte din url-er til billeder og css og javascript med en /  - og så have filerne liggende de rigtige steder.
Avatar billede erikjacobsen Ekspert
07. september 2006 - 19:53 #6
Du behøver ikke 'http://www.cases.hotserv.dk/gfx/bg.gif' men blot '/gfx/bg.gif'
Avatar billede webstuff Nybegynder
07. september 2006 - 19:58 #7
Hmm.. Jeg har fundet ud af noget mere..

www.cases.hotserv.dk/forum - Virker IKKE
www.cases.hotserv.dk/forum/kat - Virker
www.cases.hotserv.dk/thread/2 - Virker

/forum & /forum/kat er samme fil. bare adskildt af en if...
Avatar billede erikjacobsen Ekspert
07. september 2006 - 20:11 #8
Det er noget PHP - det kan vi jp ikke se.
Avatar billede webstuff Nybegynder
07. september 2006 - 20:22 #9
Her er koden til forum/index.php

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

                    <div class="box">
                        <div class="header">Forum</div><br />

                            <?
                            $mode = $page["2"];
                            $id = $page["3"];
                            if($mode === "kat" && is_numeric($id))
                            {

                                $query = mysql_query("SELECT * FROM com_thread WHERE forum = '$id' ORDER BY id DESC") or die(mysql_error());
                                    while($row = mysql_fetch_assoc($query))
                                    {
                                        $q = mysql_query("SELECT COUNT(id) FROM com_answer WHERE thread = '".$row["id"]."'") or die(mysql_error());
                                        $count = mysql_result($q, 0);
                                    echo "<a href=\"/thread/".$row["id"]."\">".$row["header"]."</a> (".$count.")<br />";
                                    }
                            }
                            else
                            {
                                echo "Vælg en kategori nedenfor.<br />";
                                $query = mysql_query("SELECT * FROM com_forum ORDER BY id") or die(mysql_error());
                                    while($row = mysql_fetch_assoc($query))
                                    {
                                        $q = mysql_query("SELECT COUNT(id) FROM com_thread WHERE forum = '".$row["id"]."'") or die(mysql_error());
                                        $count = mysql_result($q, 0);
                                        $bgcolor = ($x++%2) ? "#f0f0f0" : "#fff";
                                        echo "<div style=\"padding:2px;background-color:".$bgcolor.";\">";
                                        echo "<div class=\"mini_head\" style=\"margin-top:5px;\">";
                                            echo "<a href=\"/forum/kat/".$row["id"]."\">".$row["name"]."</a> (".$count.")<br />";
                                        echo "</div>";
                                            echo afterDB($row["description"]);
                                            echo "<br />";
                                        echo "</div>";
                                    }
                                if(logget_in())
                                {
                                    echo "<br /><br /><a href=\"?page=add\">Opret tråd</a>";
                                }
                            }
                            ?>
                    </div>
---------------------------------------------------------
Avatar billede erikjacobsen Ekspert
07. september 2006 - 20:25 #10
Der er ikke noget at se i den kodestump. Du får fejlen fordi du i det ene tilfælde mangler at sige "mysql_connect(....)".
Avatar billede webstuff Nybegynder
07. september 2006 - 20:29 #11
Ja det er det jeg ikke forstår.
For hvis den får det før if'en burde den da også kunne connecte efter den?
Avatar billede erikjacobsen Ekspert
07. september 2006 - 20:33 #12
Jeg kan ikke se en mysql_connect noget sted.
Avatar billede webstuff Nybegynder
07. september 2006 - 20:35 #13
Den bliver inkluderet i toppen af index.php

og forum/index.php bliver inkluderet i index.php
Avatar billede erikjacobsen Ekspert
07. september 2006 - 21:48 #14
Hvis "forum/index.php bliver inkluderet i index.php" er det lidt af et mirakel. Du får jo ikke udført den "øverste" index.php når "forum/index.php" eksisterer  -  den bliver jo som default udført når du har "forum/".
Avatar billede webstuff Nybegynder
07. september 2006 - 23:04 #15
Ja efter jeg ændrede navnet fra /forum/index.php til /forum/forum.php virker det.
Forstår stadig ikke hvorfor, men mange tak..

Lægger du et svar - eller samler du stadig ikke på point?
Avatar billede erikjacobsen Ekspert
07. september 2006 - 23:12 #16
Nej tak, ikke point. Forklaringen er så simpel som før sagt. Den kan finde "forum/" i form af "forum/index.php", og derfor udløstes din 404 regel ikke.
Avatar billede webstuff Nybegynder
08. september 2006 - 00:10 #17
Okay så tager jeg dem selv, når du er så beskeden :-)

Okay, det giver egentligt meget godt mening nu du siger det ;o)

Mange tak for hjælpen!!

Mvh. Andreas
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester