Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]mod_rewrite
Forum PHP.pl > Forum > Przedszkole
em
Witam,
próbuję rozkminić mod_rewrite.

RewriteRule ^links([^-]+).html$ links.php?id=$1 [L]

Gdy wpisze links1.html przeglądarka zwraca dobrą stronę tylko jak ja mam tego używać?
Mam wpisać
  1. <a href="links1.html">coś</a>
zamiast links.php?id=2.?
W ten sposob tworzy sie linki i wszedzie w na mojej stronie musze zmienić linki?
Fifi209
Dokładnie tak jak napisałeś. Z resztą, ciężko sprawdzić? ;]
Daimos
No co Ty, skoro wymyśliłeś już regułę

Kod
RewriteRule ^links([^-]+).html$ links.php?id=$1 [L]


Musisz jej się trzymać, a nie jakieś zabawy w html, czyli linki generujesz tak:

  1. $link = '<a href="links([^-]+).html">coś</a>';
  2.  
  3. class RewriteRuleExtension
  4. {
  5. public $linkUrl = 'links([^-]+).html';
  6. public function __call($a, $b)
  7. {
  8. return preg_replace('/\(\[\^\-\]\+\)/', $id, $this->linkUrl);
  9. }
  10. }


No i teraz już sprawa jest prosta, dajesz jedynie:

  1. $linkClass = new RewriteRuleExtension();
  2. echo '<a href="'.$linkClass->uSoLazyAlwaysCheckBeforePosting('1').'">coś</a>';


Klasę rozszerzającą Rewrite Rule możesz oczywiście rozbudować na swoje potrzeby. Pisane z palca, więc sory jeśli będą jakieś błędy, ale już dalej sobie poradzisz
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.