Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> .htaccess - skrócić ilość linijek z parametrami do jednej
HBK
post 4.07.2013, 12:06:59
Post #1





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 3.08.2008

Ostrzeżenie: (0%)
-----


Czy da się poniższy kod z pliku .htaccess napisać w jednej linii?

RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$ index.php?p=$1&nav=$2 [L]

RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$ index.php?p=$1&nav=$2&o1=$3 [L]

RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$ index.php?p=$1&nav=$2&o1=$3&o2=$4 [L]

itd...
Go to the top of the page
+Quote Post
nospor
post 4.07.2013, 12:10:07
Post #2





Grupa: Moderatorzy
Postów: 34 585
Pomógł: 5734
Dołączył: 27.12.2004




Nie, to jest wlasnie jedna z wad htaccess. Dlatego wlasnie ja swego czasu z htaccess przerzucilem sie na php do takich zadan
http://nospor.pl/ladne-urle.html


--------------------

Najlepsze kawałki programistyczne || Dowcipy o informatykach || Forum PHP dla opornych
Klasy: Pager (stronicowanie) | Cache | ShoutBox (Chat) | Widok | Ładne url'e

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
HBK
post 4.07.2013, 12:30:43
Post #3





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 3.08.2008

Ostrzeżenie: (0%)
-----


Rozumiem

Co do tego co napisałem w pierwszym poście: jak zrobić żeby jak ktoś wpisze złe parametry przekierowało na stronę główną?

np. poprawne linki:

httpx://jakaśstrona.pl/warszawa/klub/raban

httpx://jakaśstrona.pl/warszawa/klub/raban/galeria


ktoś spreparuje np:

httpx://jakaśstrona.pl/warszawa/coscos/raban

lub

httpx://jakaśstrona.pl/warszawa/coscos/raban/aaa

albo całkowicie wymyśli:

httpx://jakaśstrona.pl/lubie/placki/hi/hi


Go to the top of the page
+Quote Post
nospor
post 4.07.2013, 12:48:29
Post #4





Grupa: Moderatorzy
Postów: 34 585
Pomógł: 5734
Dołączył: 27.12.2004




a skad niby htacces ma wiedziec, ze warszawa jest ok, a placki juz nie?
Albo ze klub jest ok, ale blabla juz nie?

Albo w htaccess zdefiunujesz z palca poprawne slowa, co znowu bedzie cholernie ciezkie bo miast jest duzo albo przerzucic sprawdzanie na php. htaccess do takich zadan sie nie nadaje


--------------------

Najlepsze kawałki programistyczne || Dowcipy o informatykach || Forum PHP dla opornych
Klasy: Pager (stronicowanie) | Cache | ShoutBox (Chat) | Widok | Ładne url'e

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
HBK
post 4.07.2013, 13:00:38
Post #5





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 3.08.2008

Ostrzeżenie: (0%)
-----


Korzystam ze switchy na pierwszych 2 poziomach dalej to już opcje.

Ustawienie headera na defaultcie kończy się pętlą...

Go to the top of the page
+Quote Post
nospor
post 4.07.2013, 13:03:50
Post #6





Grupa: Moderatorzy
Postów: 34 585
Pomógł: 5734
Dołączył: 27.12.2004




Ale o czym teraz znowu mowisz?

header masz robic gdy jest zly parametr a nie na default.... przeciez default wchodzi tez gdy nie ma parametry a wowczas nic dziwnego ze masz petle. No ale teraz to tylko wroze i sie domyslam bo posta napisales tak jakbym mial przed oczami szklana kule...


--------------------

Najlepsze kawałki programistyczne || Dowcipy o informatykach || Forum PHP dla opornych
Klasy: Pager (stronicowanie) | Cache | ShoutBox (Chat) | Widok | Ładne url'e

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
HBK
post 4.07.2013, 13:12:52
Post #7





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 3.08.2008

Ostrzeżenie: (0%)
-----


Ok inaczej jak w switchu zrobić 404 jeśli case się nie zgadza nie robiąc z defaulta 404

pewnie jeszcze bardziej zamotałem...


np. jest tylko jeden case w swithu

to jest poprawne:

httpx://jakaśstrona.pl/warszawa/klub

błąd:

httpx://jakaśstrona.pl/warszawa/sss


przenosi do defaulta i taki URL zostaje - niech się zrobi redirect do:


httpx://jakaśstrona.pl/warszawa


jeśli jest błąd w case.
Go to the top of the page
+Quote Post
erix
post 4.07.2013, 14:40:47
Post #8





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Wrzuć to do routingu z poziomu aplikacji, bo w ten sposób sobie mocno strzelasz w stopę. Zmiana Apache na coś innego i masz kupę roboty, to raz.

Dwa - pewnych rzeczy w htaccess nie sprawdzisz. Trzy - polskich znaków nie przetworzysz.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 26.06.2019 - 01:54