![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 29.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam kolegów
![]() Mam drobny kłopot i pomimo starań i prób nie udało mi się zamemu tego zrobić, mianowicie: Mam 2 reguły przepisywania linków i chciałbym aby obie działały, ale nie potrafię sobie z tym poradzić: -- RewriteEngine on RewriteRule ^(.*)/([0-9]+)/(.*)\.html$ /auto.php?id=$2&uri=$3 [QSA,L] RewriteRule ^(.*)/([0-9]+)/(.*)\.html$ /strona.php?id=$2&uri=$3 [QSA,L] -- W powyższej konfiguracji działa tylko pierwsza reguła, a kiedy ją zachaschuje działa druga ![]() Czy da sie to jakoś to przepisać, aby się nie gryzło ? Pozdrawiam i z góry dzięki za podpowiedź lub wskazówkę ![]() |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 333 Pomógł: 137 Dołączył: 25.03.2008 Skąd: jesteś?? Ostrzeżenie: (0%) ![]() ![]() |
A z której strony skrypt ma wiedzieć jakiej reguły ma użyć? Masz 2 reguły które mają takie same wymagania i kompilator nagle nie zacznie czytać Ci w myślach i robić tego co zechcesz...
Jeśli zaś chodzi Ci by kod nagle przekierował na raz na dwa adresy to też się nie da, nie ma opcji by podzielić użytkownika na pół. ![]() Rozwiązaniem jest rozróżnienie wyrażeń regularnych tak by jednoznacznie definiowały gdzie przekierować. Ten post edytował ShadowD 4.08.2012, 09:10:51 -------------------- Mój blog - o wszystkim i niczym ale zazwyczaj związane z informatyką! ;-)
Githube Usługi spawalnicze i monterskie | Park linowy Lublin i Okunince |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 29.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
No to mi kolega pomógł.... :]
Jakoś tak słabo u mnie z rozróżnianiem wyrażeń regularnych, więc może w inny sposób podejdźmy do tego tematu. W moim systemie, funkcja generująca url'a dla modułu 'static_pages' (dla reguły "/strona.php?m=pages&id=") wygląda tak: func.php
Natomiast w <head> pobieram sobie meta w taki sposób:
I na koniec, w stopce wyświetlam kolumnę ze stronami statycznymi:
No i dobrze, być może pojawia się tu problem w tym, że dokładnie te same funkcje próbują wygenerować ten sam efekt w stosunku do modułu 'cars' (/auto.php?id=). func.php
head.php
Poległem, bo nie bardzo wiem jak połączyć te 2 wątki, tak aby nie kolidowały ze sobą.. Pomoże któryś z bardziej doświadczonych kolegów ? ...i brak odzewu :] Ten post edytował radziu 4.08.2012, 12:57:19 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 333 Pomógł: 137 Dołączył: 25.03.2008 Skąd: jesteś?? Ostrzeżenie: (0%) ![]() ![]() |
Nie możesz napisać co chcesz uzyskać i jakie już linki masz? Na prawdę nie chcę mi się tego przeglądać i jeśli liczysz na pomoc to chociaż zawalcz trochę a nie czekasz na gotowca! Nie mam też pojęcia co jeden problem ma z drugim i o co tak na prawdę Ci chodzi...
-------------------- Mój blog - o wszystkim i niczym ale zazwyczaj związane z informatyką! ;-)
Githube Usługi spawalnicze i monterskie | Park linowy Lublin i Okunince |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 566 Pomógł: 35 Dołączył: 21.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
-------------------- flexiCMS v2 [|||||||+--] 75% done
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 279 Pomógł: 60 Dołączył: 25.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
Radziu, najwyraźniej nie zrozumiałeś, co Ci ShadowD napisał.
RewriteRule ^(.*)/([0-9]+)/(.*)\.html$ /auto.php?id=$2&uri=$3 [QSA,L] RewriteRule ^(.*)/([0-9]+)/(.*)\.html$ /strona.php?id=$2&uri=$3 [QSA,L] Problem w tym, że obie reguły rozpoznające wzorzec są identyczne (^(.*)/([0-9]+)/(.*)\.html$), czyli niczym się nie różnią, czyli pasują do tych samych danych, czyli zostanie dopasowana reguła pierwsza napotkana z tych dwóch, a druga nigdy. To oznacza, że masz spartolone reguły routingu i nikt Ci nic nie poradzi, tylko sam możesz sobie poradzić, zmieniając generowane linki tak, aby się od siebie różniły tak, aby można było jedną z powyższych reguł zmienić tak, aby jednoznacznie odróżniała się od drugiej (i wszystkich pozostałych, czyli żeby była unikatowa) ![]() -------------------- there is much to be learned
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 29.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki kolegom za zainteresowanie tematem.
Jak widzicie, moja wiedza na temat php dość mocno kuleje :] Spróbuję przepisać i zmienić funkcję generującą linki do static_pages i zmienię regułę RewriteRule ^(.*)/([0-9]+)/(.*)\.html$ /strona.php?id=$2&uri=$3 [QSA,L]. Jeśli nadal nie będę mógł sobie z tym poradzić to poproszę o pomoc, albo się poddam ![]() Dzięki za wskazówki ![]() R. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 17:40 |