Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Przyjazne linki, Przerobienie linków na przyjazne
wwojteko
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 31.10.2007

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


Witam!
Mam takie pytanie jak przerobić linki w postaci:
  1. <a href="index.php?id=1">glowna</a>

I w case mam includowane podstrony w zaleznosci od tego jakie jest id:
  1. <?php
  2. switch ($_GET['id'])
  3. {
  4. case '2':
  5. include('glowna.php');
  6. break;
  7. case '3':
  8. include('realizacje.php');
  9. break;
  10. include('start.php');
  11. };
  12. ?>

I teraz pytanie jak to przerobić, żeby w przeglądarce było postaci: www,mojastrona/oferta.html itd. Większośc postów dotyczy linków czytanych z bazy danych. Czy da się taki coś zrobic? I jeszcze jedno czy da się to zrobić tak aby w linku pozostało ?id=2 bo sprawdzając to potem sprawdzam, które zakładka jest aktywna. Ogólnie chodzi o .httacces i mode rewrite dla tego konkretnego przypadku.
Pozdrawiam!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Pilsener
post
Post #2





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

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


Cytat
I w case mam includowane podstrony w zaleznosci od tego jakie jest id
- po co? Zrób sobie tablicę:

ID||Link||Nazwa/Anchor||Title||Coś tam - przechowujesz w bazie lub pliku. Menu generujesz automatycznie na podstawie tablicy a możesz nawet i na podstawie struktury plików czy folderów (wtedy anchor i title = nazwa pliku)

Do zwykłych linków index?id=45 wystarcza, ale do przyjaznych potrzebne są słowa kluczowe (anchor), linki takie mogą mieć postać:
strona.pl/nazwa,id.html

Wtedy reguła w .htaccess wygląda tak:
RewriteRule ([^-]*),([^-]*).html$ ?id=$2 [L] - zadziała, jeśli plik to index.php. Żeby było w pełni elastyczne robisz:

RewriteRule ([^-]*),([^-]*),([^-]*).html$ $3.php?id=$2 [L] wtedy zamieni adres:
strona.pl/nazwa,id,plik.html na strona.pl/plik.php?id=id
Go to the top of the page
+Quote Post

Posty w temacie


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: 3.10.2025 - 19:57