![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 237 Pomógł: 1 Dołączył: 15.10.2004 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
No więc w skrócie mówiąc chcę, żeby adres: podstrony/news.php?id_news=1&tytul=jakis_tytul&strona=1 zamienić na news,1,jakis_tytul,1.html
W tym celu w pliku .htaccess utworzyłem następującą linijkę: Kod RewriteRule ^news,([0-9]+),(.+),([0-9]+)\.html$ podstrony/news.php?id_news=$1&tytul=$2&strona=$3 Oczywiście mod_rewrite działa, bo np wyżej w pliku mam linijkę bez trzeciej zmiennej i tamta linijka działa bez zarzutu. Jak w skrypcie dla sprawdzenia chce wypisać echo $_GET['strona'] to wyświetla się 0 nawet gdy jak w adresie jest inna cyfra po wypisaniu
wyswietla sie: Kod Array ( [id_news] => 220 [tytul] => arsenal_3-1_plymouth_kanonierzy_awansuja_dalej,1 ) wiec tak jakby system nie rozpoznawal ze zaczyna sie inna zmienna |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Kod RewriteRule ^news,([0-9]+),(.+?),([0-9]+)\.html$ podstrony/news.php?id_news=$1&tytul=$2&strona=$3
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 171 Pomógł: 36 Dołączył: 12.01.2008 Skąd: Puszcza Mariańska Ostrzeżenie: (0%) ![]() ![]() |
Miałem podobny problem i rozwiązałem go w ten sposób że ten bardziej rozbudowany Rules postawiłem przed tym mniej rozbudowanym i mi działa
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Cytat Miałem podobny problem i rozwiązałem go w ten sposób że ten bardziej rozbudowany Rules postawiłem przed tym mniej rozbudowanym i mi działa - tak, ale nie dońca, należy używać flagi [L] i podzielić reguły na "paczki", dopasowując najpierw te z większą liczbą zmiennych:Kod RewriteRule ([^-]*),([^-]*),komentarze,strona-([^-]*),([^-]*).html$ $4.php?i=$2&go=kom&a=$3 [L] RewriteRule ([^-]*),([^-]*),komentarze,strona-([^-]*).html$ ?i=$2&go=kom&a=$3 [L] RewriteRule ([^-]*),([^-]*),([^-]*).html$ $3.php?i=$2 [L] RewriteRule ([^-]*),([^-]*).html$ ?i=$2 [L] A w ogóle najlepiej wrzucać cały adres do jednej zmiennej $_GET i obrabiać przy pomocy PHP - jest elastyczniej, wygodniej i szybciej. Jak widzę kilkaset reguł w htaccess i mam przerobić taki serwis to dostaję torsji. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 237 Pomógł: 1 Dołączył: 15.10.2004 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
- tak, ale nie dońca, należy używać flagi [L] i podzielić reguły na "paczki", dopasowując najpierw te z większą liczbą zmiennych: Kod RewriteRule ([^-]*),([^-]*),komentarze,strona-([^-]*),([^-]*).html$ $4.php?i=$2&go=kom&a=$3 [L] RewriteRule ([^-]*),([^-]*),komentarze,strona-([^-]*).html$ ?i=$2&go=kom&a=$3 [L] RewriteRule ([^-]*),([^-]*),([^-]*).html$ $3.php?i=$2 [L] RewriteRule ([^-]*),([^-]*).html$ ?i=$2 [L] A w ogóle najlepiej wrzucać cały adres do jednej zmiennej $_GET i obrabiać przy pomocy PHP - jest elastyczniej, wygodniej i szybciej. Jak widzę kilkaset reguł w htaccess i mam przerobić taki serwis to dostaję torsji. Ja się już przyzwyczaiłem, choć w nowej wersji serwisu pomyślę nad tym. Już działa |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 06:00 |