Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [SQLite][PHP]Przyjazne linki i cms, Dłuższy url case i htacces
seek666
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 15.08.2012

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
CuteOne
post
Post #2





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

Ostrzeżenie: (0%)
-----


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]


Ten post edytował CuteOne 15.08.2012, 16:41:12
Go to the top of the page
+Quote Post
seek666
post
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 15.08.2012

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
CuteOne
post
Post #4





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

Ostrzeżenie: (0%)
-----


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. }


Ten post edytował CuteOne 16.08.2012, 07:09:37
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.08.2025 - 19:20