
Kod
RewriteRule ^modules-([^-]+)-([^-]+)-([^-]+)\.htm$ /modules.php?name=$1&cat=$2&page=$3 [L]
RewriteRule ^modules-([^-]*)\.htm$ modules.php?name=$1 [L]
RewriteRule ^index.htm$ index.php
RewriteRule ^modules-([^-]*)\.htm$ modules.php?name=$1 [L]
RewriteRule ^index.htm$ index.php
oraz funkcje, dynamicznie zmieniającą adresy "brzydkie" na "ładne" :
<?php function rewrite_url_filter($data) { $link = $data[0]; $_link = $link[0]; $link = $link[1]; $link=preg_replace('#modules.php?name=([A-Z]*)&cat=([0-9]*)&page=([0-9]*)#si','modules-1-2-3.htm', $link); $link = $_link.'="'.$link.'"'; return $link; } function rewrite_ob_filter($string) { } ?>
W pliku .htaccess jest wszytko ok bo jak wpisuje ręcznie "ładne adresy" to działają. Problem pojawia się z tą funkcją. Mam linki:
Kod
modules.php?name=news
oraz
Kod
modules.php?name=news&cat=2&page=1
Funkcja zamieszczona wyżej powinna zmienić te linki na modules-news.htm oraz modules-news-2-1.
Niestety tak się nie dzieje. Pierwszy link (modules.php?name=news) zmienia mi poprawnie ale jak chce potem przejść dalej to już kolejny wygląda tak: modules-news.htm&cat=2&page=1. Nie mam zielonego pojęcia dlaczego tak się dzieje


EDIT: Ok rozwiązałem sam problem.