Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Rekomendowane odpowiedzi

Opublikowano

Hai,

potrzebuje małej pomocy z htaccess, na razie jest jedno pytanie ale będzie więcej...

1.

potrzebuje z adresów:

mojadomena.pl/podstrona1/?sort=J4k1e5_t4m_zn4czki&filtr=jeden&inny_filtr=dwa&limit=69

mojadomena.pl/podstrona2/?sort=J4k1e5_t4m_zn4czki&filtr=jeden&inny_filtr=dwa&limit=69

mojadomena.pl/podstrona3/?sort=J4k1e5_t4m_zn4czki&filtr=jeden&inny_filtr=dwa&limit=69

zrobić dla wszystkich podstron coś takiego: (nie wymieniam wszystkich, więc dałem podstronaX)

mojadomena.pl/podstronaX/jeden,dwa,69

Jeśli sort jest równy np. "J4k1e5_t4m_zn4czki" to najlepiej jakby był pomijany, w przeciwnym wypadku niech się też wyświetla przed jeden :]

Jest ktoś mi wstanie pomóc? :> Nie ogarniam tego ;\

userbar1.jpg

Twiztid Tribe ®

Opublikowano

Opracowałem coś takiego, na razie olewam całkowicie sort, nie ma go w adresie,

RewriteRule ^(.*)/(.+),(.+),(.+)$ ?display_mode=$2&filter=$3&limit=$4

Wszystko działa, gorzej jak któryś parametr nie występuje, wtedy nie działa ;/ Jak zrobić tak że niekoniecznie wszystkie parametry będą występować? :> Ostatni ma być cyfrą. Pierwszy (display_mode) występuje zawsze (ma tylko dwie opcje) drugi i trzecie mogą występować, ale nie muszą...

userbar1.jpg

Twiztid Tribe ®

Opublikowano (edytowane)

Nie rozumiem do końca :)

Link wygląda tak:

podstrona/display_mode=list$filter=L&limit=69

Jest sobie tam jakaś lista, elementy na niej wyświetlają sie od L i wyświetla 69 elementów...

Teraz chcę zrobić fajny przyjazny link w którym będzie określone jaki sposób wyświetlania (display_mode) czy list czy box.

Dodatkowo mogą wystąpić dwa parametry filter i limit.... Może występować jeden z nich, żaden, lub oba.

Zrobiłem taki bajer:

RewriteRule ^(.*)/(.+),(.+),(.+)$ ?display_mode=$2&filter=$3&limit=$4

i działa tyko w przypadku gdy są wszystkie 3 parametry:

podstrona/list,L,69

Właściwie kolejność i sposób wyświetlania (czy to będzie po przecinkach czy jak) jest dowolny, nie jestem uwiązany niczym (przynajmniej na tym etapie nie widzę nic takiego).

-----------

Może przy okazji (oprócz pomocy z tym problemem) rzuci ktoś linkiem gdzie mogę znaleźć jakieś informacje na temat formuł w htaccess? Znalazłem coś, ale właściwie niewiele tego było. Chodzi np o jak ograniczać rodzaj znaków [a-z0-9], kiedy się daje np ? a kiedy jeszcze coś innego, czym się różnie (.*) od (.+) etc :]

Edytowane przez unbreak

userbar1.jpg

Twiztid Tribe ®

Opublikowano (edytowane)

Dzięki,

czy rozwiązanie typu:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)/(.+),(.+)$ ?filter[display_mode]=$2&limit=$3

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)/(.+)/(.+),(.+)$ ?filter[display_mode]=$3&filter[product_field][first_producer_letter]=$2&limit=$4

Ma sens?

tzn jeśli są dwa parametry podane:

./list,69

to jest pierwsza reguła zastosowana,

jeśli 3:

./L/list,69

To ta druga.

Edytowane przez unbreak

userbar1.jpg

Twiztid Tribe ®

Opublikowano (edytowane)

Wszystkie są w htaccessie, opisze poszczególne oraz z czym mam problem:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)/(.+)$ ?sort_by=MD5(CONCAT(product.id%2C+product.created_at%2C+%27perfumeria%27))&filter[display_mode]=$2

działa gdy link wygląda podstrona/list - czyli zdefiniowane jest tylko tryb wyświetlania list...

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)/(.+),(.+)$ ?sort_by=MD5(CONCAT(product.id%2C+product.created_at%2C+%27perfumeria%27))&filter[display_mode]=$2&limit=$3

podstrona/list,69 - czyli sposób wyświetlania i ilość elementów

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)/letter-(.+)$ ?sort_by=MD5(CONCAT(product.id%2C+product.created_at%2C+%27perfumeria%27))&filter[product_field][first_producer_letter]=$2

podstrona/letter-L - gdy jest ustawiona od jakiej litery ma się wyświetlać

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)/letter-(.+),(.+)$ ?sort_by=MD5(CONCAT(product.id%2C+product.created_at%2C+%27perfumeria%27))&filter[display_mode]=$3&filter[product_field][first_producer_letter]=$2

podstrona/letter-L,list - j/w + sposób wyświetlania <- to najprawdopodobniej wypadnie

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)/letter-(.+),(.+),(.+)$ ?sort_by=MD5(CONCAT(product.id%2C+product.created_at%2C+%27perfumeria%27))&filter[display_mode]=$3&filter[product_field][first_producer_letter]=$2&limit=$4

podstrona/letter-L,list,69 - wszystkie

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)/letter-(.+),full_(.+)$ ?sort_by=MD5(CONCAT(product.id%2C+product.created_at%2C+%27perfumeria%27))&limit=9999&direction=asc&filter[display_mode]=$3&filter[product_field][first_producer_letter]=$2

podstrona/letter-L,full_list - czyli pierwsza litera oraz wszystkie elementy (bez dzielenia na strony) i w jaki sposób ma być wyświetlony (list)

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)/full_(.+)$ ?sort_by=MD5(CONCAT(product.id%2C+product.created_at%2C+%27perfumeria%27))&limit=9999&direction=asc&filter[display_mode]=$2

podstrona/full_list - pełna lista jako lista

Teraz problem jest taki że nie uznaje mi tego sort="..." Gdyby było, to by się elementy wyświetlały właściwie losowo, tzn. bez logicznego posortowania, jednak wyświetlają się alfabetycznie - tak się wyświetla jak braknie właśnie parametru sort. Jakieś propozycje czemu nie chce mi uznać tego!? Tak jakby w ogóle nie było tego w adresie?

+ Czy jest jakaś możliwość odświeżenia reguł w htaccess (tak jak jest np czasami z grafikami że trzeba dać ctrl+f5 żeby załapało po zmianie) xD

Edytowane przez unbreak

userbar1.jpg

Twiztid Tribe ®

Opublikowano

Nie działa mi szukanie przez te reguły ;/

product/search.html?query=WARTOŚĆ

wiem że to przez to:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)/(.+)$ ?sort_by=MD5(CONCAT(product.id%2C+product.created_at%2C+%27perfumeria%27))&filter[display_mode]=$2

Jeśli nie znajdę rozwiązanie to zmienię to na coś w rodzaju że nie będzie "podstrona/list" tylko np stałym elementem będzie np. diplay: "podstrona/display-list", dzięki temu wykluczę inne podstrony typu "podstrona/podpodstrona", chyba że ktoś ma inne propozycje? :>

userbar1.jpg

Twiztid Tribe ®

Opublikowano

Po kolei nie wszyscy na raz ;p

Kolejne mam pytanie, może na to ktoś pomoże xD

Czy jest jakiś szybki sposób żeby jeżeli zrobimy jakąś regułę np:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^index.php?cos=(.+)$ $2.html

Żeby jak ktoś wejdzie na stary adres /index.php?cos=costam to żeby 301 przenosiło go na 'nową' stronę /costam.html

Bo jak mam tyle reguł (a jest ich trochę więcej niż tutaj podanych ;/ ) to żebym nie musiał dla wszystkich 301 ustawiać, tylko jakoś z 'automatu' było ;)

No dajcie się człowiekowi nauczyć :]

userbar1.jpg

Twiztid Tribe ®

Opublikowano (edytowane)

Już jest xD

Szczerze to liczyłem na to że jest jakiś parametr np.:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^index.php?cos=(.+)$ $2.html [FAK_OLD_URL]

;)

Dzięki któremu wszystko będzie kierowany na odpowiedni przyjazny link ;) Jakbyś jednak miał chwilę, bądź ktokolwiek inny, to będę wdzięczny, oczywiście sam też będę nad tym pracował i podzieję się owocami, jeśli jakieś będą :D

Edytowane przez unbreak

userbar1.jpg

Twiztid Tribe ®

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.