Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mod_rewrite] Zamiana linków w kodzie strony
Forum PHP.pl > Forum > Przedszkole
homik
Witam,
Mam juz istniejącą stronę, na której chcę wprowadzić linki z mod_rewrite. Musiałbym wtedy przpisac od nowa wszystkie linki wewnątrz strony, żeby wywalić wszystkie zmienne a wstawić nowe adresy. Czy da się zrobić to jakimś skryptem, który sam zamieni mi linki?
vokiel
Jasne, że możesz. Chociażby narzędzie wielokrotnej zmiany.
Jeśli masz stare linki w formie ?od=5&do=9&na_stronie=20, a nowe /5/9/20 to zamieniasz ?od= => / &do => / itd...
Albo, co moim zdaniem będzie lepszym rozwiązaniem - wyrażenia regularne.
Pilsener
Ja zalecam robić 'nice url' po pierwsze - jako opcję. Po drugie - jak masz jakiś link:

  1. <?php
  2. echo <a href="strona.pl/index.php?go=cos&a=3">link</a>
  3. ?>


Zrób klasę/funkcję, która będzie generować odpowiednie linki na podstawie parametrów:
  1. <?php
  2. $adres = 'strona.pl';
  3. $czynice = 1;
  4. $get['go'] = 'cos';
  5. $get['a'] = 3;
  6. echo '<a href="'.generuj_link($get,$czynice,$adres).'">link</a>';
  7. ?>
- gdy niceurl=0 to Ci wygeneruje link tradycyjny. Możesz też wprowadzać inne parametry. Dzięki temu możesz łatwo zmienić algorytm i dostosować linki np. do nowej wersji serwisu/rozbudowy etc.

A tak jesteś w matni, bo będziesz za każdym razem wszystkie linki przepisywał?
homik
Dzięki Pilsener, pomysł jest dobry. A co do vokiela, to nie zrozumiałem za bardzo o co Ci chodzi smile.gif
vokiel
Pewnie zamotałem za bardzo;)
Miałem na myśli, że gdy już masz kod strony, taki gotowy do wrzucenia na serwer. A nagle się zorientowałeś, że chcesz miec nice url. To możesz wszystkie pliki przepuścić przez filtr, i linki które tam masz pozamieniać na ładne. Czyli, że wczytujesz plik, i zamieniasz "index.php?go=cos&a=3" na "/cos/3". Tak doraźnie.
Oczywiście jeśli tworzysz wszystkie linki automatycznie z php to pomysł Pilsenera jest lepszym rozwiązaniem.
Wtedy opcję $czynice możesz przechowywać w bazie, w pliku konfiguracyjnym czy gdziekolwiek indziej.

Do tego przy generowaniu tych linków trzba pamiętać, że gdy nice nie są włączone to .htaccess też powinien to uwzględniać winksmiley.jpg
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.