Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: .htaccess - skrócić ilość linijek z parametrami do jednej
Forum PHP.pl > Forum > Serwery WWW > Apache
HBK
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...
nospor
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
HBK
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


nospor
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
HBK
Korzystam ze switchy na pierwszych 2 poziomach dalej to już opcje.

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

nospor
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...
HBK
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.
erix
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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.