Resultat 1 till 15 av 15

Kört fast

  1. #1
    Johnzs avatar
    Johnz Johnz är inte uppkopplad Lär mig SEO
    Reg.datum
    sep 2011
    Inlägg
    176
    Hej,

    Jag håller på med en hemsida och har fastnat nu på url-omskrivningen. Följde guiden som fanns i denna sektion men det blev fel ändå. Jag har vridit och vänt på det nu i 30 minuter och börjar tröttna. Antingen är det fel i min htaccess fil eller är nåt annat helfel vilket jag är ganska säker på det inte är, alltså sista alternativet.

    Vore väldigt uppskattat om någon kunde förklara för mig vad som är fel:
    Kod:
    RewriteEngine On
    RewriteBase /
    RewriteCond %{HTTP_HOST} ^exempel\.se$
    RewriteRule ^(.*)$ http://www.exempel.se/$1 [R=301,L]
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule (.*)\.html /$1 [R=301,L]
    Det jag vill åstadkomma är att http://exempel.se blir skickat till http://www.exempel.se/ och att .html försvinner som ändelse på alla sidor.

    Jag är ganska säker på att det första är rätt, alltså det här med non-www till www men det andra är helfel.

    Tack för hjälpen.

  2. #2
    Tobias Nyholms avatar
    Tobias Nyholm Tobias Nyholm är inte uppkopplad Moderator
    Reg.datum
    maj 2009
    Ort
    Stockholm
    Inlägg
    881
    Hej
    Kolla på denna rad i din kod:
    Kod:
    RewriteCond %{REQUEST_FILENAME} !-d
    Den säger: "Om request filename inte är en fil så fortsätt". DVS. Om du har en fil som heter test.html så kommer inte din sista rad att köras. Ta bort den raden så går det nog bättre.
    CTO på Happyr.com. Vi gör rekrytering effektivt

  3. #3
    Johnzs avatar
    Johnz Johnz är inte uppkopplad Lär mig SEO
    Reg.datum
    sep 2011
    Inlägg
    176
    Hej!

    Testade att ta bort den raden men samma problem kvarstår. www till non-www funkar bra det är just .html ändelsen som inte vill. Besöker jag index.html står .html fortfarande kvar i url:n, samma i priser.html.

    Tack för din hjälp.

  4. #4
    Tobias Nyholms avatar
    Tobias Nyholm Tobias Nyholm är inte uppkopplad Moderator
    Reg.datum
    maj 2009
    Ort
    Stockholm
    Inlägg
    881
    Citat Ursprungligen postat av Johnz Visa inlägg
    Hej!

    Testade att ta bort den raden men samma problem kvarstår. www till non-www funkar bra det är just .html ändelsen som inte vill. Besöker jag index.html står .html fortfarande kvar i url:n, samma i priser.html.

    Tack för din hjälp.
    Oj, nu gick det för snabbt när jag svarade dig. Du ska ta bort den raden som slutar med ett f.
    Kod:
    RewriteCond %{REQUEST_FILENAME} !-f
    'f' står för filename. 'd' står för directory. Du kan lägga tillbaka den andra raden om du vill. Denna kod, endast en rad, borde fungera utmärkt för dig:

    Kod:
    RewriteRule (.*)\.html /$1 [R=301,L]
    CTO på Happyr.com. Vi gör rekrytering effektivt

  5. #5
    Johnzs avatar
    Johnz Johnz är inte uppkopplad Lär mig SEO
    Reg.datum
    sep 2011
    Inlägg
    176
    Nu funkar det halvdant. När jag först besöker sidan kommer jag rätt och url:n är www.exempel.se. Klickar jag sedan på meny-knappen "Priser" så förflyttas jag till sidan om priser men filändelsen där är fortfarande /priser.html. Går jag tillbaka till första sidan, alltså index genom meny-knappen "Start" stå skickas jag till en sida som heter: www.exempel.se/index sidan kan ej lokaliseras vilket resulterar i att jag kommer till en fel-sida.

    Tack.

  6. #6
    Tobias Nyholms avatar
    Tobias Nyholm Tobias Nyholm är inte uppkopplad Moderator
    Reg.datum
    maj 2009
    Ort
    Stockholm
    Inlägg
    881
    Citat Ursprungligen postat av Johnz Visa inlägg
    Nu funkar det halvdant. När jag först besöker sidan kommer jag rätt och url:n är www.exempel.se. Klickar jag sedan på meny-knappen "Priser" så förflyttas jag till sidan om priser men filändelsen där är fortfarande /priser.html. Går jag tillbaka till första sidan, alltså index genom meny-knappen "Start" stå skickas jag till en sida som heter: www.exempel.se/index sidan kan ej lokaliseras vilket resulterar i att jag kommer till en fel-sida.

    Tack.
    Okej, Så du har inget script som tar hand om filerna. Lägg till en regel (i .htaccess)som hemligt lägger till filändelserna igen.

    Kod:
    RewriteRule (.*)\.html /$1 [R=301,L]
    
    #om inte en mapp
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule (.*) /$1.html
    Detta kanske funkar. Testa =)
    CTO på Happyr.com. Vi gör rekrytering effektivt

  7. #7
    Johnzs avatar
    Johnz Johnz är inte uppkopplad Lär mig SEO
    Reg.datum
    sep 2011
    Inlägg
    176
    Kod:
    RewriteEngine On
    RewriteBase /
    RewriteCond %{HTTP_HOST} ^exempel\.se$
    RewriteRule ^(.*)$ http://www.exempel.se/$1 [R=301,L]
    
    RewriteRule (.*)\.html /$1 [R=301,L]
    
    #om inte en mapp
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule (.*) /$1.html
    I nuläget blir det fel. Antar man inte kan ha två st 301, hur blandar man samman dessa?

    Tack!

  8. #8
    Tobias Nyholms avatar
    Tobias Nyholm Tobias Nyholm är inte uppkopplad Moderator
    Reg.datum
    maj 2009
    Ort
    Stockholm
    Inlägg
    881
    Kan du ge mig lite mer info vad som händer eller inte händer.
    Man kan ha hur många redirects man vill. Det finns ingen gräns. Det påverkar knappt prestandan heller. Man vill inte blanda ihop reglerna. Man vill att alla regler ska vara korta, precisa och lättlästa.
    CTO på Happyr.com. Vi gör rekrytering effektivt

  9. #9
    Niklas Aronssons avatar
    Niklas Aronsson Niklas Aronsson är inte uppkopplad SEO-proffs
    Moderator för alla forumsektioner
    Reg.datum
    nov 2009
    Ort
    Malmö
    Inlägg
    753
    Plussar rykte på dig Tobias. Och då ska sägas att jag fattar aldrig ett dugg av vad det är du skriver men det verkar alltid hjälpa

    Ville bara ge dig lite creds för att du är en av de mest hjälpsamma personerna vi har på forumet, även om du inte pratar mitt språk... Hoppas att folk förstår och uppskattar den tid du måste lägga ner på att hjälpa olika personer med sina problem här på forumet.

    Sorry för off-topic!

  10. #10
    SEOJonass avatar
    SEOJonas SEOJonas är inte uppkopplad Kan SEO rätt bra
    Reg.datum
    sep 2009
    Inlägg
    467
    OT

    Tobias; om jag förstår dig rätt så skulle jag i princip kunna ha hur många domäner som helst som jag gör 301or på till en och samma site, eller menade du redirects i det stora hela?
    Senast redigerat av SEOJonas den 2012-02-03 klockan 17:24. Anledning: OT

  11. #11
    Grenfeldts avatar
    Grenfeldt Grenfeldt är inte uppkopplad SEO-proffs
    Reg.datum
    jun 2010
    Ort
    Falun
    Inlägg
    62
    Håller med Niklas, föredömligt!

  12. #12
    Johnzs avatar
    Johnz Johnz är inte uppkopplad Lär mig SEO
    Reg.datum
    sep 2011
    Inlägg
    176
    Uppskattar givetvis den hjälp jag får, tack tack.

    La upp det på en sida. När jag försöker nå sidan händer följande:

    Sidan kan inte nås. non-www blir till www kan jag dock se. Detta är url:n som blir när jag försöker nå sidan men nåt går snett till:
    Kod:
    http://www.stugsajt.se/redirect:/index

  13. #13
    Tobias Nyholms avatar
    Tobias Nyholm Tobias Nyholm är inte uppkopplad Moderator
    Reg.datum
    maj 2009
    Ort
    Stockholm
    Inlägg
    881
    Citat Ursprungligen postat av Fjordor
    Tobias; om jag förstår dig rätt så skulle jag i princip kunna ha hur många domäner som helst som jag gör 301or på till en och samma site, eller menade du redirects i det stora hela?
    Ja visst kan du ha hur många domäner som helst och göra 301 till en och samma sajt. Det finns inga tekniska begränsningar med detta. Det jag menade med:
    Citat Ursprungligen postat av Tobias Nyholm
    Man kan ha hur många redirects man vill. Det finns ingen gräns. Det påverkar knappt prestandan heller. Man vill inte blanda ihop reglerna. Man vill att alla regler ska vara korta, precisa och lättlästa.
    Att du kan skriva hur många redirect-regler i din .htaccess fil.

    @Nicklas Aronsson och @Grenfeldt: Tack för visad uppskattning. Sånt blir jag glad av.

    Citat Ursprungligen postat av Johnz Visa inlägg
    Uppskattar givetvis den hjälp jag får, tack tack.

    La upp det på en sida. När jag försöker nå sidan händer följande:

    Sidan kan inte nås. non-www blir till www kan jag dock se. Detta är url:n som blir när jag försöker nå sidan men nåt går snett till:
    Kod:
    http://www.stugsajt.se/redirect:/index
    Jag har luskat ut problemet. Om vi studerar koden som jag föreslog lite närmare:

    Kod:
    RewriteRule (.*)\.html /$1 [R=301,L]
    
    #om inte en mapp
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /$1.html
    #1: tar bort .html
    #2: Om det inte är en mapp
    #3: Lägg till html men gör ingen redirect.

    Det som händer efter rad 3 är att hela .htaccess körs igen med den nya uri. Dvs, rad 1 tar bort .html och rad 3 lägger till. Eftersom urlen ändras så körs .htaccess på nytt i en oändlig loop. Därför får man error 500.

    Vi kan lösa detta genom att låta ett script importera filerna vi vill använda.
    Skriv detta i .htaccess:
    Kod:
    #du kan också ha andra regler som redirect från non-www till www
    
    #ta bort html
    RewriteRule (.*)\.html /include.php?file=$1 [R=301,L]
    Sen skapar du en fil med namn include.php och lägger den i filträdets rot. (brevid index.html)
    Kod:
    <?php
    $file=$_GET['file'];
    
    /*
    * We want to edit the filename so no hacker can do a request like:
    * include.php?file=../../../../etc/passwd
    * if you add '.html' he can only access html files.
    * 
    * We also want to make sure that it exist no dubble dots
    */
    $file=$file.'.html';
    if(strstr($file,'..')!==false){//file is not safe
       die("osäkert filnamn');
    }
    
    //create absolute path
    $file=$_SERVER['DOCUMENT_ROOT'].'/'.$file;
    
    //you may want to look if the file exists or not.
    if(file_exists($file)){
       //include the file
       include($file);
    }
    else{
       die("Filen hittades inte");
    }
    Uppdatera och se om det fungerar =)
    CTO på Happyr.com. Vi gör rekrytering effektivt

  14. #14
    Johnzs avatar
    Johnz Johnz är inte uppkopplad Lär mig SEO
    Reg.datum
    sep 2011
    Inlägg
    176
    Jag la till allt det du visade i roten, eller egentligen, det kanske inte är roten eftersom jag använder Loopia. Tror att allting ligger i samma rot men mitt ftp tar mig till /public_html/ (tror den heter så mappen) och sedan till index.html. Tror fortfarande samma fel kvarstår. Se här.

    Jag använder dreamweaver för att titta på koden och den ger vissa delar av koden en röd färg som känns att den inte är aktiv. Detta visas i rött:
    Kod:
    }
    
    //create absolute path
    $file=$_SERVER['DOCUMENT_ROOT'].'/'.$file;
    
    //you may want to look if the file exists or not.
    if(file_exists($file)){
       //include the file
       include($file);
    }
    else{
       die("Filen hittades inte");
    }
    Hittade ett fel i koden? Inte säker, men ser fel ut:
    Kod:
    die("osäkert filnamn');
    Titta på " och '. Ska försöka ändra det efter jag postat detta och se om nåt händer.

    Sedan så slutar det inte med ?> i php-koden, vet inte om det måste det men av det lilla jag kan php så tror jag man la till det på slutet? När jag lägger till det så blir det samma fel så jag antar det inte är problemet.

    I nuläget ligger exakt dom två filerna du sade jag skulle lägga till i roten av sidan. Så i roten ligger nu alla intressanta filer, index.html, .htaccess, include.php etc.

    Tack så mycket för din hjälp.

    Edit: Ingen aning om det jag gjort är fel eller rätt eftersom jag inte kan php men så här ser min include.php ut nu:
    Kod:
    <?php
    $file=$_GET['file'];
    
    /*
    * We want to edit the filename so no hacker can do a request like:
    * include.php?file=../../../../etc/passwd
    * if you add '.html' he can only access html files.
    * 
    * We also want to make sure that it exist no dubble dots
    */
    $file=$file.'.html';
    if(strstr($file,'..')!==false){//file is not safe
       die('osäkert filnamn');
    }
    
    //create absolute path
    $file=$_SERVER['DOCUMENT_ROOT'].'/'.$file;
    
    //you may want to look if the file exists or not.
    if(file_exists($file)){
       //include the file
       include($file);
    }
    else{
       die("Filen hittades inte");
    }
    ?>
    .htaccess har inte ändrats tror jag, men den ser ut såhär:
    Kod:
    #du kan också ha andra regler som redirect från non-www till www
    
    #ta bort html
    RewriteRule (.*)\.html /include.php?file=$1 [R=301,L]
    Edit 2: Kom att tänka på en ny sak. Det beror inte på min html kod?
    Kod:
    <div class="button"><a href="index.html">Start</a></div>
    <div class="button"><a href="priser.html">Priser</a></div>
    Senast redigerat av Johnz den 2012-02-04 klockan 10:52.

  15. #15
    Tobias Nyholms avatar
    Tobias Nyholm Tobias Nyholm är inte uppkopplad Moderator
    Reg.datum
    maj 2009
    Ort
    Stockholm
    Inlägg
    881
    Jag testade scriptet och det fungerar som det ska. Jag hade gjort fel med enkel och dubbelfnuttarna. '?>' lämnade jag ut av ren vana. Det spelar ingen roll i ditt fall men kodar man i ramverk så ska man inte stänga php-taggen i slutet av filen.

    Är det allt som står i din .htaccess?
    Du borde sätta på rewrite-motorn först.
    Kod:
    RewriteEngine On RewriteBase /
    
    #ta bort html RewriteRule (.*)\.html /include.php?file=$1 [R=301,L]
    Jag tror det kommer fungera bättre nu.
    CTO på Happyr.com. Vi gör rekrytering effektivt

Ämnesinformation

Användare som tittar på det här ämnet

Det är för närvarande 1 användare som tittar på det här ämnet. (0 medlemmar och 1 gäster)

Liknande ämnen

  1. Fast pris för topp 10 för sponsrade länkar
    Av tuben i forum Övrig internetmarknadsföring
    Svar: 3
    Senaste inlägg: 2010-03-01, 14:47
  2. Extrajobb SEO analytiker, till fast pris.
    Av Cermis i forum Förfråga om tjänster / Platsannonser
    Svar: 0
    Senaste inlägg: 2009-03-06, 02:28
  3. Sökmotoroptimerare sökes för fast anställning, placering Malmö
    Av Andreas i forum Förfråga om tjänster / Platsannonser
    Svar: 0
    Senaste inlägg: 2007-01-08, 12:07
  4. Sidor som saknar PR (fast de borde ha).
    Av Gustav i forum PageRank
    Svar: 2
    Senaste inlägg: 2006-08-25, 12:08