Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQLite][PHP]Przyjazne linki i cms
Forum PHP.pl > Forum > Przedszkole
seek666
Witam serdecznie,

posiadam taki plik z kodem:

Kod
<?php
    $uri = $_SERVER['REQUEST_URI'];
    $array=explode('?',$uri);
    if(count($array)>1)//znalazło ? w adresie
    {
        $vars=$array[1];
        switch ($vars) {
            case 'strona=kontakt':
                header('Location: /kontakt');
                break;
            case 'strona=kimjestesmy':
                header('Location: /kim-jestesmy');
                break;
            case 'strona=home':
                header('Location: /home');
                break;
        }    
    }
?>


Oraz plik .htacces:

Kod
RewriteEngine On
RewriteRule ^home$                              index.php?strona=home [L]
RewriteRule ^kim-jestesmy$                index.php?strona=kimjestesmy [L]
RewriteRule ^kontakt$       index.php?strona=kontakt [L]


Wszystko to działa wyśmienicie, jednak nie potrafię umieścić jako przyjaznego linku takiego artykułu z CMS, czy da się to umieścić jako case?

Kod
http://www.nazwa.pl/index.php?strona=firma-oferta&oferta=2


za odpowiednik w .htacces przyjąłem taki kod:

Kod
RewriteRule ^firma-oferta/([a-zA-Z-_0-9]+)/$   index.php?strona=firma-oferta&oferta=$1 [NC,L]


Chciałbym aby adres wyglądał tak: www.nazwa.pl/firma-oferta/2

Z góry dziękuję za pomoc.
CuteOne
Hmmm lepiej poczytaj o regułkach RewriteRules

Kod
RewriteEngine On
RewriteRule ^home$                              index.php?strona=home [L]
RewriteRule ^kim-jestesmy$                index.php?strona=kimjestesmy [L]
RewriteRule ^kontakt$       index.php?strona=kontakt [L]

//mozna zapisać np. w ten sposób (co do wyrażenia reg. nie jestem pewien czy zadziała)
RewriteRule ^([a-zA-Z_-]+)/(^[0-9])/$ index.php?strona=$2&parametr=$1 [NC,L]
RewriteRule ^([a-zA-Z_-]+)/$ index.php?strona=$1 [NC,L]
seek666
Tak naprawdę czytam o regułkach cały dzień, ale nie znalazłem rozwiązania. Wydaje mi się, że główną przyczyną jest tu brak odpowiedniego kodu w php, kombinowałem już na różne sposoby aby połączyć .htacces z moim plikiem php. Czegoś takiego jak:


Kod
case 'strona=home':
                header('Location: /home');
                break;


Nie mogę stworzyć dla tak złożonego linku
Kod
http://www.nazwa.pl/index.php?strona=firma-oferta&oferta=2
CuteOne
Podstawy się kłaniają
  1. echo '<pre>';
  2. print_r($_GET);
  3.  
  4. switch($_GET['strona']) {
  5.  
  6. case 'home':
  7. echo 'home';
  8. break;
  9. }
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.