Meddelande

Minska
No announcement yet.

Hjälp med seo och .htaccess

Minska
X
 
  • Filter
  • Klockan
  • Show
Clear All
new posts

  • Hjälp med seo och .htaccess

    Har en sida där jag ni ska testa lägga in en kod för seo som jag hittat på nätet men verkar som jag inte får det att fungera. Någon som kan säga vad som är felet?

    När jag ska in i ex en nyhet som den inte vill visa detta utan är kvar på news.php som /news är kopplad till. Den ska ju alltså via /news/12 gå in via show_news.php?id=12 då men funkar ej

    Dock funkar den under Nyheter när jag byggt en simpel sida utan några extra funktioner:
    http://new.gruvsjo.se

    Men när jag ska lägga in i en annan större hemsida så strular det. Kan något på sidan krocka och göra att det inge fungerar?? Har ju massa javascriptfiler och annat på den.

    Snälla HJÄLP

    .htaccess
    Kod:
    <IfModule mod_rewrite.c>
      	RewriteEngine on
      	RewriteCond %{REQUEST_FILENAME} !-f
      	RewriteCond %{REQUEST_FILENAME} !-d
      	RewriteRule ^ seo.php [L]
    </IfModule>
    seo.php
    PHP-kod:
    <?php
    function parse_path() {
          
    $path = array();
          if (isset(
    $_SERVER['REQUEST_URI'])) {
            
    $request_path explode('?'$_SERVER['REQUEST_URI']);

            
    $path['base'] = rtrim(dirname($_SERVER['SCRIPT_NAME']), '\/');
            
    $path['call_utf8'] = substr(urldecode($request_path[0]), strlen($path['base']) + 1);
            
    $path['call'] = utf8_decode($path['call_utf8']);
            if (
    $path['call'] == basename($_SERVER['PHP_SELF'])) {
                  
    $path['call'] = '';
            }
            
    $path['call_parts'] = explode('/'$path['call']);

            
    $path['query_utf8'] = urldecode($request_path[1]);
            
    $path['query'] = utf8_decode(urldecode($request_path[1]));
            
    $vars explode('&'$path['query']);
            foreach (
    $vars as $var) {
                  
    $t explode('='$var);
                  
    $path['query_vars'][$t[0]] = $t[1];
            }
          }
        return 
    $path;
    }

    $path_info parse_path();
    //echo '<pre>'.print_r($path_info,true).'</pre>';

    switch($path_info['call_parts'][0]) {
          case 
    'news'
              if(isset(
    $path_info['call_parts'][1])){
                  
    $_GET['id'] = $path_info['call_parts'][1];
                  include 
    'show_news.php';
              }else{
                  include 
    'news.php';
              }
            break;
          case 
    'events'
              if(isset(
    $path_info['call_parts'][1])){
                  
    $_GET['id'] = $path_info['call_parts'][1];
                  include 
    'show_event.php';
              }else{
                  include 
    'events.php';
              }
            break;
          case 
    'bands'
              if(isset(
    $path_info['call_parts'][1])){
                  
    $_GET['id'] = $path_info['call_parts'][1];
                  include 
    'show_band.php';
              }else{
                  include 
    'bands.php';
              }
            break;
          case 
    'albums'
              if(isset(
    $path_info['call_parts'][1])){
                  
    $_GET['id'] = $path_info['call_parts'][1];
                  include 
    'show_album.php';
              }else{
                  include 
    'albums.php';
              }
            break;
          default:
            include 
    'index.php';
    }
    ?>
    Jag bara ÄR ...... hur ska man annars vara?!?

  • #2
    Koden verkar fungera för mig.
    La in följande kod i show_news.php
    PHP-kod:
    <?php
    print_r
    ($_GET);
    Försökte sedan ladda http://localhost/news/12 och får följande utskrift:
    Array ( [id] => 12 )
    Dvs show_news.php laddas och $_GET['id'] har värdet 12.

    Vad händer för dig?
    "Det finns tre sorters lögn; vanlig lögn, förbannand lögn och statistik" - Mark Twain

    Kommentera


    • #3
      Man är fortfarande kvar på den sidan /news där alla nyheterna listas. Den vill inte anropa show_news.php

      Men däremot om jag skriver /show_news/17 så får man felmeddelande men jag har ju inte med att show_news skall användas. Mysko säger jag :/

      Har testat /show_news.php?id=17 och den funkar. Men som sagt så ska den köras när man skriver /news/17
      Jag bara ÄR ...... hur ska man annars vara?!?

      Kommentera

      Working...
      X