![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Wiem, pokrecony tytuł, ale mam taki problem:
adres strony to: Kod www.domena.pl/index.php?zmienna1=wartosc1 Czsami jest też taki adres: Kod www.domena.pl/index.php?zmienna1=wartosc2 albo Kod www.domena.pl/index.php?zmienna2=wartosc2 I teraz jak mam to poucinać w RewriteRule, tak aby nic się nie gryzło. Kod ([a-z0-9]+),([a-z0-9]+)$ /index.php?$1=$2 Tylko jak mogę zrobić jeśli w adresie jest więcej niż 1 zmienna, za każdym razem mam dopisać to w RR? A co jeśli ktoś wpisze zły adres to wyskoczy błąd braku sterony, teraz mam że jest przekierowany przez php do strony z informacją... można to jakoś zrobić z RR? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 850 Pomógł: 120 Dołączył: 15.02.2007 Skąd: Łódź Ostrzeżenie: (10%) ![]() ![]() |
No niestety chyba musisz sie bawić i wpisywać wszystkie możliwości.
A z błedami to: Kod # dla błędu 404 ErrorDocument 404 /nieznalezionopliku.html # dla błędu 500 ErrorDocument 500 /bledy/500.html * 401 - Authorization Required (wymagana autoryzacja) * 400 - Bad request (niepoprawne żądanie) * 403 - Forbidden (dostęp zabroniony) * 500 - Internal Server Error (wewnętrzny błąd serwera) * 404 - File not found (nie znaleziono pliku) lecz nie wiem czy o to Ci chodzilo. Ten post edytował Lion_87 4.01.2009, 14:42:43 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Wiem jak działają błedy, ale chodziło mi o błedy rodzaju... em dam to na przykładzie:
includuje pliki:
Czyli jeśli w asd nie występowało "start", mail itp. to zostało przekierowanie na adres poątkowy, a teraz po zastosowaniu RR wyskakuje błąd 404 ... |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 225 Pomógł: 18 Dołączył: 30.06.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
W tym wypadku nie widzę potrzeby używania rewrite rule jeżeli masz url postaci plik.php?zmienna=wartość . W tym wypadku pobierasz $_GET['zmienna'] i sprawdzasz w plik.php, jeżeli chcesz tylko zmieniać nazwę pliku przy pomocy rewrite rule to użyj:
Kod RewriteRule ^staryplik.php nowyplik.php [QSA] Osobiście używam takiej kostrukcji: Kod RewriteRule ^(.*?)$ index.php5?argStr=$1 [QSA] I parsuje w index.php cały URL który mam w $_GET['argStr'] |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Tak tylko widzisz, czasami link choć nie musi wyglada w takiej postaci:
Kod plik.php?zmienna=wartość&aaa=111&vvv=232 lub plik.php?zmienna=wartość&aaa=111&vvv=232&asd=34342&dfdf=1 lub jeszcze jakiejś innej, i co wtedy? Właśnie nie wime jak to optymalnie napisać aby nie było takiego burdleu w urlu. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 225 Pomógł: 18 Dołączył: 30.06.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Zapisuj jako zmienna/wartość/zmienna2/wartość2
potem argStr przy pomocy explode dzielisz przez '/' i łączysz w tablicę $args['zmienna'] = wartość; dzięki temu nie pojawia Ci się url typu http://adres.pl/plik.php?zmienna=wartość tylko: http://adres.pl/zmienna/wartość/zmienna/wartość Niektóre wyszukiwarki wciąż mają problemy z url'ami ze zmiennymi poza tym ładniej to wygląda (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 27.09.2025 - 01:10 |