SEO-forum.se har sålts, viktig info
Sidan 1 av 2 12 SistaSista
Resultat 1 till 30 av 34

Hjälp med URL-omskrivning

  1. #1
    Mickes avatar
    Micke Micke är inte uppkopplad SEO-proffs
    Reg.datum
    aug 2011
    Ort
    Kristianstad
    Inlägg
    271
    Hejsan alla,

    Joda, detta har säkert dykt upp ett par gånger nu. Saken är den att jag faktiskt har läst en del om url-omskrivning men har inte blivit alls mycket klokare, så jag hoppades på att en lösning kanske kan finnas här. Detta är säkert simplare än vad jag först trott.

    Jag har en dynamisk url:
    Kod:
    http://www.mindomän.se/index.php?page=kontakt
    Jag vill ju såklart att den ska vara:
    Kod:
    http://www.mindomän.se/kontakt
    jag har då läst en del inom området men har inte alls blivit mycket klokare, bl.a. har jag läst både Jim's guide och en på digitalpoint som Jim faktiskt nämnde i en annan tråd. Detta är vad jag kommit fram till hitills:

    Kod:
    # Options +Indexes
    # Options +FollowSymlinks
    RewriteEngine on
    RewriteBase /
    RewriteRule ^/(.*)\.php$ /index.php?=$ [L]
    Kan tänkas att det blir ganska snett någonstans, jag har inte skrivit något mer i php-koden (vet inte om jag ska göra det). Och det jag är ute efter är att alla mina dynamiska sidor ska ha SEO urler utan att man ska behöva skriva url efter url i .htaccess filen.

    Anledningen till att jag kommenterat bort 2 av raderna är för att jag testar detta mot one.com, supporten sa att jag skulle kommentera bort dem.

    Är det någon som kan hjälpa mig med detta hade jag varit evigt tacksam

    /Micke

  2. #2
    Mickes avatar
    Micke Micke är inte uppkopplad SEO-proffs
    Reg.datum
    aug 2011
    Ort
    Kristianstad
    Inlägg
    271
    Jag testade precis en annan variant:

    Kod:
    # Options +FollowSymLinks
    RewriteEngine On
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?page=$1
    Ingenting buggar ur eller så, men den o andra sidan så ändrar den ändå inte urlen. Är det så att jag måste göra något i mina php dokument?

    /Micke

  3. #3
    AaronAxelssons avatar
    AaronAxelsson AaronAxelsson är inte uppkopplad SEO-proffs: utökad profil
    Moderator för alla forumsektioner
    Reg.datum
    jun 2010
    Ort
    Stockholm
    Inlägg
    775
    Jag är verkligen ingen hejare på det här, men jag tycker det ser ut som att du bara sätter en regel för att den URLen ska skrivas om, men inte vad den ska skrivas om till.

    Häng ut tills Tobias Nyholm loggar in, så kommer han säkert ge dig lösningen. Han däremot är en hejare på det här.
    Head of SEO på Brath AB.

  4. #4
    Mickes avatar
    Micke Micke är inte uppkopplad SEO-proffs
    Reg.datum
    aug 2011
    Ort
    Kristianstad
    Inlägg
    271
    [LÖST]

    hehe Jag fick faktiskt ihop det nu, tänkte skriva lösningen här på forumet så får ni gärna fylla ut om det saknas något eller om jag har uppfattat allt fel.

    Okej, jag hade en URL som såg ut precis såhär:
    Kod:
    http://www.mindomän.se/index.php?page=kontakt
    Jag ville att den skulle se ut såhär:
    Kod:
    http://www.mindomän.se/kontakt
    Lösningen var att skriva detta i min .htaccess:
    Kod:
    Options +FollowSymLinks
    RewriteEngine On
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?page=$1 [L]
    efter detta trodde jag att det skulle fungera, men icke sa nicke. Jag började titta lite på redirects och allt det där skojjiga, men sen slog det mig att jag måste ju byta ut min länkning i min fil också, D´OH!

    Så från att ha länkningen såhär:
    Kod:
    echo "<a href=index.php?page=".$row['pg_name'].">".$row['hyperlink_name']."</a>";
    Bytte jag helt enkelt ut det till detta:
    Kod:
    echo "<a href=".$row['pg_name'].">".$row['hyperlink_name']."</a>";
    Och så var det löst finfint med Clean Urls. Hoppas detta kan hjälpa andra i framtiden med sina url-omskrivningar, detta tog mig som helt nybörjare från att läsa ett x antal foruminlägg och guider c:a 3 timmar att få till.

    P.S får tacka AaronAxelsson för initiativet och hjälpen + för dig

    /Micke

  5. #5
    Tobias Nyholms avatar
    Tobias Nyholm Tobias Nyholm är inte uppkopplad Moderator
    Reg.datum
    maj 2009
    Ort
    Stockholm
    Inlägg
    881
    Citat Ursprungligen postat av AaronAxelsson Visa inlägg
    Jag är verkligen ingen hejare på det här, men jag tycker det ser ut som att du bara sätter en regel för att den URLen ska skrivas om, men inte vad den ska skrivas om till.

    Häng ut tills Tobias Nyholm loggar in, så kommer han säkert ge dig lösningen. Han däremot är en hejare på det här.
    Här kommer jag en timme för sent. Bra att du löste det ändå.
    CTO på Happyr.com. Vi gör rekrytering effektivt

  6. #6
    Mickes avatar
    Micke Micke är inte uppkopplad SEO-proffs
    Reg.datum
    aug 2011
    Ort
    Kristianstad
    Inlägg
    271
    Citat Ursprungligen postat av Tobias Nyholm Visa inlägg
    Här kommer jag en timme för sent. Bra att du löste det ändå.
    Hehe absolut inga problem, ser det rätt ut då? tänkte nu när du ändå är online, hur kan jag lägga till snedstreck efter kontakt?

    Alltså:
    Kod:
    http://www.mindomän.se/kontakt/
    /Micke

  7. #7
    Tobias Nyholms avatar
    Tobias Nyholm Tobias Nyholm är inte uppkopplad Moderator
    Reg.datum
    maj 2009
    Ort
    Stockholm
    Inlägg
    881
    Det ser rätt ut.
    Det kan du göra om du vill. Men tänk på att $_GET['page'] kommer innehålla snedstrecket då.

    Du skulle kunna redigera sista raden likt:
    Kod:
    Options +FollowSymLinks 
    RewriteEngine On  
    
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*?)/?$ index.php?page=$1 [L]
    Detta kommer matcha allt utom ett eventuellt sista snedstreck.
    CTO på Happyr.com. Vi gör rekrytering effektivt

  8. #8
    Mickes avatar
    Micke Micke är inte uppkopplad SEO-proffs
    Reg.datum
    aug 2011
    Ort
    Kristianstad
    Inlägg
    271
    Citat Ursprungligen postat av Tobias Nyholm Visa inlägg
    Det ser rätt ut.
    Det kan du göra om du vill. Men tänk på att $_GET['page'] kommer innehålla snedstrecket då.

    Du skulle kunna redigera sista raden likt:
    Kod:
    Options +FollowSymLinks 
    RewriteEngine On  
    
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*?)/?$ index.php?page=$1 [L]
    Detta kommer matcha allt utom ett eventuellt sista snedstreck.
    Ska genast testa detta, en sak jag bara undrar, nu när jag har suttit och kollat lite och uppdaterat så blir 2 av mina länkar såhär:
    Kod:
    http://www.mindomän.se/customers/9/c/2/mindomän.se/httpd.www/underdomän/index.php?page=test/
    Jag testade att öra liknande som på denna guiden: http://enarion.net/web/htaccess/trailing-slash/

    Efter det så buggade 2 av mina urler ut som beskrivs ovan. Finns det något jag kan göra åt det nu? eller är det bara att rensa cachen?

    /Micke

  9. #9
    Mickes avatar
    Micke Micke är inte uppkopplad SEO-proffs
    Reg.datum
    aug 2011
    Ort
    Kristianstad
    Inlägg
    271
    Men tänk på att $_GET['page'] kommer innehålla snedstrecket då.
    Hur menar du här? när jag la in det du skrev i min .htaccess så hände det inte så mycket.

    /Micke

  10. #10
    Tobias Nyholms avatar
    Tobias Nyholm Tobias Nyholm är inte uppkopplad Moderator
    Reg.datum
    maj 2009
    Ort
    Stockholm
    Inlägg
    881
    Citat Ursprungligen postat av Micke Visa inlägg
    Hur menar du här? när jag la in det du skrev i min .htaccess så hände det inte så mycket.

    /Micke
    $_GET['page'] kommer innehålla det du fångar med den första grupperingen (parenteserna).
    Kod:
    #Fångar allt
    RewriteRule ^(.*)$ index.php?page=$1 [L]
    #Fångar allt förutom ett eventuellt sista snedstreck
    RewriteRule ^(.*?)/?$ index.php?page=$1 [L]
    #den ovanstående raden gör ett snedstreck i slutet valfritt
    På sidan du länkade skriver han så här:
    Kod:
    #Om det inte är ett filnamn
    RewriteCond %{REQUEST_FILENAME} !-f
    #om det inte slutar med /
    RewriteCond %{REQUEST_URI} !(.*)/$
    #Skriv om samma URL fast med ett / i slutet.
    RewriteRule ^(.*)$ http://domain.com/$1/ [L,R=301]
    Om du vill tvinga ett snedstreck i slutet kan du använda denna kodsnutt. Men se till att du placerar den under dina andra regler. (Ordningen spelar roll)
    CTO på Happyr.com. Vi gör rekrytering effektivt

  11. #11
    Mickes avatar
    Micke Micke är inte uppkopplad SEO-proffs
    Reg.datum
    aug 2011
    Ort
    Kristianstad
    Inlägg
    271
    Tjenare igen, nu har jag fått ett nytt problem med regular expressions. Det är så att jag redan ordnat så filändelser döljs på vissa av mina sidor men inte med 2 stycken andra, jag har försökt på alla sätt och vis.

    Här är den jag har nu:

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*?)/?$ page.php?page=$1 [L]
    Nu vill jag även få in:

    Kod:
    index.php och contact.php
    Med andra ord, jag vill att inga sidor ska ha några filändelser, även dem som inte är dynamiskt laddade.

    Hur kan jag göra detta på bästa vis? man kan väl inte ha 2st .htaccess i samma mapp?

    tacksam för svar.

  12. #12
    welanders avatar
    welander welander är inte uppkopplad Kan SEO rätt bra
    Reg.datum
    aug 2011
    Ort
    Märsta / Stockholm
    Inlägg
    249
    Här har du RewriteRule ^(.*?)/?$ page.php?page=$1 [L], dvs page.php

    det är bara att byta ut page.php till index.php och ordna om query parametrarna så kommer det fungera. Du behöver alltså inte lägga till rewriteCond igen utan enbart två nya rewrite rules.

  13. #13
    Mickes avatar
    Micke Micke är inte uppkopplad SEO-proffs
    Reg.datum
    aug 2011
    Ort
    Kristianstad
    Inlägg
    271
    Citat Ursprungligen postat av welander Visa inlägg
    Här har du RewriteRule ^(.*?)/?$ page.php?page=$1 [L], dvs page.php

    det är bara att byta ut page.php till index.php och ordna om query parametrarna så kommer det fungera. Du behöver alltså inte lägga till rewriteCond igen utan enbart två nya rewrite rules.
    Saken är ju den att jag har ändrat om det sedan tidigare, index.php = startsida och page.php?page = undersidor. men hur menar du att jag ska ändra om query parametrarna?

    jag har testat med att lägga till en ny rewrite rule, men då får jag bara internal error haha.

  14. #14
    Mickes avatar
    Micke Micke är inte uppkopplad SEO-proffs
    Reg.datum
    aug 2011
    Ort
    Kristianstad
    Inlägg
    271
    Just nu ser mina urler ut sähär kan man säga:

    www.mindoman.se/index.php - Startsidan
    www.mindoman.se/undersida - För en undersida

    Det jag vill är att min startsida, index.php inte ska ha en filändelse i webbläsaren.

  15. #15
    Mickes avatar
    Micke Micke är inte uppkopplad SEO-proffs
    Reg.datum
    aug 2011
    Ort
    Kristianstad
    Inlägg
    271
    Hmm skumt detta, nu skrev jag såhär:

    Kod:
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*?)/?$ page.php?page=$1 [L]
    RewriteRule ^(.+)$ /$1.php [L]
    men fick detta felmeddelande:

    The requested URL /index.php.php was not found on this server.

    Fattar inte vad det är för fel jag gör :S

  16. #16
    Tobias Nyholms avatar
    Tobias Nyholm Tobias Nyholm är inte uppkopplad Moderator
    Reg.datum
    maj 2009
    Ort
    Stockholm
    Inlägg
    881
    Som welander skriver så bör du inte ändra .htaccess. Du ska istället ändra i din page.php.
    Jag antar att du har skrivit något sånt här:
    PHP-kod:
    $page=$_GET['page']

    $pageContent=$mysql->getPage($page);
    echo 
    $pageContent
    Jag föreslår att du lägger in en extra check på page. Typ:
    PHP-kod:
    $page=$_GET['page']
    $dynamicPages=array('index','contact','whatever');
    if(
    in_array($page,$dynamicPages)){
       require 
    $page.'.php';
       exit;
    //we dont want to load the rest of this page
    }
    $pageContent=$mysql->getPage($page);
    echo 
    $pageContent
    CTO på Happyr.com. Vi gör rekrytering effektivt

  17. #17
    Mickes avatar
    Micke Micke är inte uppkopplad SEO-proffs
    Reg.datum
    aug 2011
    Ort
    Kristianstad
    Inlägg
    271
    I min navigation har jag det såhär:

    PHP-kod:
      <div class="navBarContainer">
    <ul class='navBar'>
        <li><a href="index.php">Hem</a></li>
    <?php
      $qry
    =mysql_query("SELECT * FROM home_page WHERE pg_type='menu' order by home_page.id ASC"$con);
            if(!
    $qry)
            {
            die(
    "Query Failed: "mysql_error());
            }
            while(
    $row=mysql_fetch_array($qry))
            {
            echo 
    "<li><a href=".$row['pg_name'].">".$row['hyperlink_name']."</a></li>";
            }
    ?>
        <li><a href="contact.php">Kontakt</a></li>
    Är det där du menar eller?
    Senast redigerat av Micke den 2012-08-06 klockan 19:38. Anledning: Skrev fel först

  18. #18
    Mickes avatar
    Micke Micke är inte uppkopplad SEO-proffs
    Reg.datum
    aug 2011
    Ort
    Kristianstad
    Inlägg
    271
    Varken index.php eller contact.php är skapade dynamiskt.

  19. #19
    Tobias Nyholms avatar
    Tobias Nyholm Tobias Nyholm är inte uppkopplad Moderator
    Reg.datum
    maj 2009
    Ort
    Stockholm
    Inlägg
    881
    Citat Ursprungligen postat av Micke Visa inlägg
    I min navigation har jag det såhär:

    PHP-kod:
      <div class="navBarContainer">
    <ul class='navBar'>
        <li><a href="index.php">Hem</a></li>
    <?php
      $qry
    =mysql_query("SELECT * FROM home_page WHERE pg_type='menu' order by home_page.id ASC"$con);
            if(!
    $qry)
            {
            die(
    "Query Failed: "mysql_error());
            }
            while(
    $row=mysql_fetch_array($qry))
            {
            echo 
    "<li><a href=".$row['pg_name'].">".$row['hyperlink_name']."</a></li>";
            }
    ?>
        <li><a href="contact.php">Kontakt</a></li>
    Är det där du menar eller?
    Nix, jag menar det du skriver i page.php... Det som hanterar $_GET['page']
    CTO på Happyr.com. Vi gör rekrytering effektivt

  20. #20
    Mickes avatar
    Micke Micke är inte uppkopplad SEO-proffs
    Reg.datum
    aug 2011
    Ort
    Kristianstad
    Inlägg
    271
    Citat Ursprungligen postat av Tobias Nyholm Visa inlägg
    Nix, jag menar det du skriver i page.php... Det som hanterar $_GET['page']
    Jaha se där ja, ska genast kika på detta, återkommer ifall jag löst det hela

  21. #21
    welanders avatar
    welander welander är inte uppkopplad Kan SEO rätt bra
    Reg.datum
    aug 2011
    Ort
    Märsta / Stockholm
    Inlägg
    249
    Nu har jag varit för länge ifrån diskussionen för att förstå och jag kan tydligen inte tänka just nu men du kan ju också alltid hårdkoda url omskrivningen på index.php och contact.php i din .htaccess något i stil med
    Kod:
    RewriteRule ^startsida$ /index.php [L]
    RewriteRule ^kontakt$ /contact.php [L]
    Då bör de blir något i stil med dinurl.se/startsida om det bara är få sidor så fungerar kanske denna approach? Men har man URL omskrivning bör man skriva allting dynamiskt i den mån det går och är effektivt.
    Det du även kan göra är att använda page.php i alla olika sidtyper på sidan, då har du automatiskt url omskrivningen där.

    Sedan ska jag tillägga att jag verkligen inte är någon expert på htacess och vad best practice är med PHP idag är jag inte så säker på. Men ensak @TS, jag rekommenderar dig att titta in på MySQLi, MySQL som du använder det har slutats att supportas och utvecklas för PHP(källa behövs men jag tror att det är så iallafall) och man har gått över mer till MySQLi vilket i framtiden utvecklas för PHP och funktioner där igenom.

    Sedan kan jag rekommendera dig att kika in på hur man kodar objekt orienterat om du nu inte redan kan det men det vet jag inte så jag skriver det iallfall.

  22. #22
    Mickes avatar
    Micke Micke är inte uppkopplad SEO-proffs
    Reg.datum
    aug 2011
    Ort
    Kristianstad
    Inlägg
    271
    hmm, verkar inte vilja fungera ändå :S.

    Nog jag som inte fattar. Det jag har som du menar är:

    PHP-kod:

    <?php
    if(isset($_GET['page']))
        {
            
    $pg=$_GET['page'];
            
    $qry=mysql_query("SELECT * FROM home_page WHERE pg_name='$pg' order by home_page.id ASC LIMIT 0, 1"$con);
        if(!
    $qry)
        {
            die(
    "Query Failed: "mysql_error());
        }
        
    $row=mysql_fetch_array($qry);
        
    $key=$row['pg_keywords'];
        
    $title=$row['pg_title'];
        
    $description=$row['pg_description'];
        
    $date=$row['pg_date'];
        
    $contents=$row['pg_content'];
        
    $heading=$row['pg_h1'];
        }
    else
    {
    $qry=mysql_query("SELECT * FROM home_page WHERE pg_type='content' AND pg_type='contact'"$con);
        if(!
    $qry)
        {
            die(
    "Query Failed: "mysql_error());
        }

        
        
    $row=mysql_fetch_array($qry);
        
    $key=$row['pg_keywords'];
        
    $title=$row['pg_title'];
        
    $description=$row['pg_description'];
        
    $date=$row['pg_date'];
        
    $contents=$row['pg_content'];
        
    $heading=$row['pg_h1'];
    }
    ?>
    testade att lägga in som du sa, men verkade inte fungera då heller hehe. Nu har jag gjort så det hämtas med index.php?page= och contact.php?page=

  23. #23
    welanders avatar
    welander welander är inte uppkopplad Kan SEO rätt bra
    Reg.datum
    aug 2011
    Ort
    Märsta / Stockholm
    Inlägg
    249
    om du använder denna kod så fungerar det bättre att du når rätt sida med page.php?page=index, page.php?page=contact osv

    Du kan ju alltid sätta if else satser typ såhär:

    PHP-kod:
    <?php $page $_GET['page'];
    if (
    $page == "index") {
       <
    html></html/* Du gör alltså en helt ny html sida innanför if page = index. */
    } else if ($page == "contact") {
       <
    html></html/* Samma sak här fast för page = contact */
    } else {
        
    $title=$row['pg_title'];
        
    $description=$row['pg_description'];
        
    $date=$row['pg_date'];
        
    $contents=$row['pg_content'];
        
    $heading=$row['pg_h1'];
    /* och så fortsätter du såhär. */
    ?>

  24. #24
    Mickes avatar
    Micke Micke är inte uppkopplad SEO-proffs
    Reg.datum
    aug 2011
    Ort
    Kristianstad
    Inlägg
    271
    Citat Ursprungligen postat av welander Visa inlägg
    Nu har jag varit för länge ifrån diskussionen för att förstå och jag kan tydligen inte tänka just nu men du kan ju också alltid hårdkoda url omskrivningen på index.php och contact.php i din .htaccess något i stil med
    Kod:
    RewriteRule ^startsida$ /index.php [L]
    RewriteRule ^kontakt$ /contact.php [L]
    Då bör de blir något i stil med dinurl.se/startsida om det bara är få sidor så fungerar kanske denna approach? Men har man URL omskrivning bör man skriva allting dynamiskt i den mån det går och är effektivt.
    Det du även kan göra är att använda page.php i alla olika sidtyper på sidan, då har du automatiskt url omskrivningen där.

    Sedan ska jag tillägga att jag verkligen inte är någon expert på htacess och vad best practice är med PHP idag är jag inte så säker på. Men ensak @TS, jag rekommenderar dig att titta in på MySQLi, MySQL som du använder det har slutats att supportas och utvecklas för PHP(källa behövs men jag tror att det är så iallafall) och man har gått över mer till MySQLi vilket i framtiden utvecklas för PHP och funktioner där igenom.

    Sedan kan jag rekommendera dig att kika in på hur man kodar objekt orienterat om du nu inte redan kan det men det vet jag inte så jag skriver det iallfall.
    Ska testa din lösning, jo objektorienterat är jag något insatt i. Ska kika på MYSQLi också . tack för tipsen.

  25. #25
    Mickes avatar
    Micke Micke är inte uppkopplad SEO-proffs
    Reg.datum
    aug 2011
    Ort
    Kristianstad
    Inlägg
    271
    Citat Ursprungligen postat av welander Visa inlägg
    om du använder denna kod så fungerar det bättre att du når rätt sida med page.php?page=index, page.php?page=contact osv

    Du kan ju alltid sätta if else satser typ såhär:

    PHP-kod:
    <?php $page $_GET['page'];
    if (
    $page == "index") {
       <
    html></html/* Du gör alltså en helt ny html sida innanför if page = index. */
    } else if ($page == "contact") {
       <
    html></html/* Samma sak här fast för page = contact */
    } else {
        
    $title=$row['pg_title'];
        
    $description=$row['pg_description'];
        
    $date=$row['pg_date'];
        
    $contents=$row['pg_content'];
        
    $heading=$row['pg_h1'];
    /* och så fortsätter du såhär. */
    ?>
    Både den lösningen som du beskriver och lösningen du gav mig med hårdkodat i .htaccess gjorde så förskrivna html element inte renderades i webbläsaren, annars fungerade allt finfint, förutom att den php koden du gav mig tog bort all text på alla mina sidor hehe.

  26. #26
    welanders avatar
    welander welander är inte uppkopplad Kan SEO rätt bra
    Reg.datum
    aug 2011
    Ort
    Märsta / Stockholm
    Inlägg
    249
    PHP-kod:
    $qry=mysql_query("SELECT * FROM home_page WHERE pg_name='$pg' order by home_page.id ASC LIMIT 0, 1"$con);
        if(!
    $qry)
        {
            die(
    "Query Failed: "mysql_error());
        }
        
    $row=mysql_fetch_array($qry);
        
    $key=$row['pg_keywords'];
        
    $title=$row['pg_title'];
        
    $description=$row['pg_description'];
        
    $date=$row['pg_date'];
        
    $contents=$row['pg_content'];
        
    $heading=$row['pg_h1'];
        } 
    sätt den ovanför if ($page == ""), sedan måste du återskapa HTML koden och hämta in title, content, datum osv på rätt ställen i stil med.

    PHP-kod:
    <h1><?php echo $title?></h1>
    <p class="date"><?php echo $date?></p>
    <?php echo $content?>
    Det vill säga, den koden du fick av mig hade inte någon koppling till databasen därför blev alla sidor tomma

    ##########

    PHP-kod:
    <?php $page $_GET['page'];
    $qry=mysql_query("SELECT * FROM home_page WHERE pg_name='$page' order by home_page.id ASC LIMIT 0, 1"$con);
        if(!
    $qry)
        {
            die(
    "Query Failed: "mysql_error());
        }
        
    $row=mysql_fetch_array($qry);
        
    $key=$row['pg_keywords'];
        
    $title=$row['pg_title'];
        
    $description=$row['pg_description'];
        
    $date=$row['pg_date'];
        
    $contents=$row['pg_content'];
        
    $heading=$row['pg_h1'];
    if (
    $page == "index") { ?>
       <html>
        <head></head>   
        <body>
            <h1><?php echo $title?></h1>
            <div id="slider">Eftersom detta är index så tycker jag att det ska vara en fin slider</div>
            <?php echo $content?>
        </body>
        </html> /* Du gör alltså en helt ny html sida innanför if page = index. */
    <?php } else if ($page == "contact") { ?>
       <html>
        <head></head>   
        <body>
            <h1><?php echo $title?></h1>
            <p class="date"><?php echo $date?></p>
            <?php echo $content?>
        </body>
        </html> /* Samma sak här fast för page = contact */
    <?php } else { ?>
       <html>
        <head></head>   
        <body>
            <h1><?php echo $title?></h1>
            <p class="date"><?php echo $date?></p>
            <?php echo $content?>
        </body>
        </html>
    /* och så fortsätter du såhär. */
    <?php ?>

  27. #27
    Mickes avatar
    Micke Micke är inte uppkopplad SEO-proffs
    Reg.datum
    aug 2011
    Ort
    Kristianstad
    Inlägg
    271
    Citat Ursprungligen postat av welander Visa inlägg
    PHP-kod:
    $qry=mysql_query("SELECT * FROM home_page WHERE pg_name='$pg' order by home_page.id ASC LIMIT 0, 1"$con);
        if(!
    $qry)
        {
            die(
    "Query Failed: "mysql_error());
        }
        
    $row=mysql_fetch_array($qry);
        
    $key=$row['pg_keywords'];
        
    $title=$row['pg_title'];
        
    $description=$row['pg_description'];
        
    $date=$row['pg_date'];
        
    $contents=$row['pg_content'];
        
    $heading=$row['pg_h1'];
        } 
    sätt den ovanför if ($page == ""), sedan måste du återskapa HTML koden och hämta in title, content, datum osv på rätt ställen i stil med.

    PHP-kod:
    <h1><?php echo $title?></h1>
    <p class="date"><?php echo $date?></p>
    <?php echo $content?>
    Det vill säga, den koden du fick av mig hade inte någon koppling till databasen därför blev alla sidor tomma

    ##########

    PHP-kod:
    <?php $page $_GET['page'];
    $qry=mysql_query("SELECT * FROM home_page WHERE pg_name='$page' order by home_page.id ASC LIMIT 0, 1"$con);
        if(!
    $qry)
        {
            die(
    "Query Failed: "mysql_error());
        }
        
    $row=mysql_fetch_array($qry);
        
    $key=$row['pg_keywords'];
        
    $title=$row['pg_title'];
        
    $description=$row['pg_description'];
        
    $date=$row['pg_date'];
        
    $contents=$row['pg_content'];
        
    $heading=$row['pg_h1'];
    if (
    $page == "index") { ?>
       <html>
        <head></head>   
        <body>
            <h1><?php echo $title?></h1>
            <div id="slider">Eftersom detta är index så tycker jag att det ska vara en fin slider</div>
            <?php echo $content?>
        </body>
        </html> /* Du gör alltså en helt ny html sida innanför if page = index. */
    <?php } else if ($page == "contact") { ?>
       <html>
        <head></head>   
        <body>
            <h1><?php echo $title?></h1>
            <p class="date"><?php echo $date?></p>
            <?php echo $content?>
        </body>
        </html> /* Samma sak här fast för page = contact */
    <?php } else { ?>
       <html>
        <head></head>   
        <body>
            <h1><?php echo $title?></h1>
            <p class="date"><?php echo $date?></p>
            <?php echo $content?>
        </body>
        </html>
    /* och så fortsätter du såhär. */
    <?php ?>
    ska kolla på den lösningen lite senare, ska jag göra så som du beskriver så måste jag lägga om ett ex antal filer. Alla sidor har include_once ('connecting.php'); i sig. Och det är koden i connecting.php som jag skrev här .

    Men om jag skriver såhär i .htaccess:

    HTML-kod:
    # Options +FollowSymLinks
    RewriteEngine On
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*?)/?$ page.php?page=$1 [L]
    RewriteRule ^startsida$ /index.php?page [L]
    RewriteRule ^kontakt$ /contact.php?page [L]
    Så får jag det precis som jag vill ha det på index.php och contact.php. Förutom att förskriven html och php som ligger under contact.php och index.php inte kommer med. Känns lite som om jag rört till det lite för mig själv nu haha.

    Funderar lite på att göra så här och sedan importera det andra med javascript eller något . Det är ju ändå bara 2 sidor som ska ändras. Men vet ej om javascript är en bra lösning.

  28. #28
    welanders avatar
    welander welander är inte uppkopplad Kan SEO rätt bra
    Reg.datum
    aug 2011
    Ort
    Märsta / Stockholm
    Inlägg
    249
    Då måste du skriva hur index.php och/eller contact.php ser ut, använd gärna pastebin.com eller liknande, då blir inte inläggen här så sjukt stora

  29. #29
    Mickes avatar
    Micke Micke är inte uppkopplad SEO-proffs
    Reg.datum
    aug 2011
    Ort
    Kristianstad
    Inlägg
    271
    Då måste du skriva hur index.php och/eller contact.php ser ut
    Tänkte du att jag skulle göra det i connecting.php? det känns ju lite onödigt

  30. #30
    welanders avatar
    welander welander är inte uppkopplad Kan SEO rätt bra
    Reg.datum
    aug 2011
    Ort
    Märsta / Stockholm
    Inlägg
    249
    nej, jag vill se hur de filerna ser ut, hur du har skrivit din kod. För jag tror att du troligtvis har kodat fel någonstans, har du satt på php fel?

    Men om det fungerade innan du mixtrade med htaccess så är det för att du inte har page=nånting i din raw url för nu har du enbart index.php?page och din querystring har ingen parameter vilket $pg = $_GET["page"], denna hämtar ju värdet från page i en GET metod, dvs page.php?page=micke i detta fall så blir $pg = micke; fast den variabeln är dynamisk.

Sidan 1 av 2 12 SistaSista

Ä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. URL-omskrivning med PHP - Wordpress plugin
    Av Annika Lindstedt i forum URL-omskrivning
    Svar: 2
    Senaste inlägg: 2009-11-12, 11:16
  2. Fördel med URL-omskrivning?
    Av Henkutt i forum URL-omskrivning
    Svar: 3
    Senaste inlägg: 2009-02-16, 08:10
  3. URL-omskrivning för forumtrådar - bra eller??
    Av Jim Westergren i forum URL-omskrivning
    Svar: 5
    Senaste inlägg: 2008-09-13, 11:33
  4. Hjälp med omskrivning av knepiga URLer i databas till sökmotorvänliga
    Av Daniel S i forum Förfråga om tjänster / Platsannonser
    Svar: 0
    Senaste inlägg: 2007-12-06, 18:18