![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 1 Dołączył: 4.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Piszę moduł do przyjaznych linków w oscommerce2 i zabija mnie ilość reguł rewrite w .htaccess, przez chaos w linkach na stronie (raz przekazywana nazwa kategorii, innym razem nie) muszę uwzglęniać każdą opcję.
Nie posiadam dużej wiedzy o regexp, więc jeśli te reguły można jakoś zoptymalizować to proszę o radę. Np. taka nazwa produktu w pierwszej linii (.*?). Czy można zrobić w tym jakiegoś ifa (jeśli jest to przekaż nazwę do ?_cname_, a jak nie ma to olej). Załączam fragment reguł. Aktualnie, żeby to dało się jakoś ogarnąć piszę sobię automat, którym mógłbym ogarnąć każdą permutację tych wartości, ale pytam czy nie ma prostszej drogi. Fragment .htaccess:
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 99 Pomógł: 5 Dołączył: 20.06.2005 Skąd: Bielsk Podlaski Ostrzeżenie: (0%) ![]() ![]() |
Do .htaccess możesz wstawić taki wpis ( i tylko taki
![]() Kod RewriteRule ^(/[_-a-zA-Z0-9=^\/]+)$ index.php?param=$1 [L] Wszystko przejdzie do zmiennej $_GET['param']; Potem wystarczy w index.php załączyć kod php podobny do tego:
i ostatecznie w tablicy $_PARAM przy adresie: /kategoria/5/produkt/6 otrzymasz:
I tyle. ![]() Pozdrawiam @soomal Nie ma problemu. ![]() Ten post edytował Louner 17.06.2009, 21:06:47 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 1 Dołączył: 4.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za to rozwiązanie.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 898 Pomógł: 80 Dołączył: 31.05.2008 Ostrzeżenie: (20%) ![]() ![]() |
Przykład z drupala:
Kod RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !=/favicon.ico RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] Reszta tak jak Louner napisał. Można też troszkę inaczej, ale każdy jak tam lubi. -------------------- cojack blog - mój blog (na jakiś czas off).
"jak czegoś nie wiem, to nie myślę że wiem" - moja domena |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 1 Dołączył: 4.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Zapomniałem o jednej rzeczy. Po przepisaniu adresu w index.php potrzebuje przekierowania na konkretną stronę, ale tak, żeby adres w pasku nie zmienił się. Jak to uzyskać?
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 16.06.2025 - 21:45 |