Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Problem z parametrami w htaccess
Octobus
post
Post #1





Grupa: Zarejestrowani
Postów: 259
Pomógł: 1
Dołączył: 3.07.2011

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


Mam taki schemat adresów:

strona.pl/ksiazki-2.html
co daje w zmiennych
Cytat
$kategoria=ksiazki,
$strona=2


regula w htaccess:

Cytat
RewriteRule ^([a-zA-Z0-9\-]+)-([0-9]+).html$ index.php?kategoria=$1&page=$2


Teraz potrzebuje obsługi
strona.pl/ksiazki-2.html?limit=12 gdzie limit to ilosc produktow na stronie. Niestety taki adres jest nie obsługiwany, próbowałem go dokleić w htaccess ale takie coś nie działa:
Cytat
RewriteRule ^([a-zA-Z0-9\-]+)-([0-9]+).html?limit=([0-9]+)$ index.php?kategoria=$1&page=$2&limit=$3

liczba produktów zależy mi żeby była parametrem, bez przyjaznych adresów, bo inaczej powstanie multum url które będą powielały tą samą treść. Tylko jak to ogarnąć żeby dodatkowe zmienne były traktowane jako zmienne, żeby wszytko dało się przekazać, ewentualnie na sztywno wpisywać parametry dodatkowe.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Octobus
post
Post #2





Grupa: Zarejestrowani
Postów: 259
Pomógł: 1
Dołączył: 3.07.2011

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


Dziękuję za odpowiedzi. Działają oba sposoby, tylko że tak jakby w połowie.

1. Przykład (działający)
http://strona.pl/table-and-chairs.html?limit=3
  1. $_SERVER:
  2. [QUERY_STRING] => kategoria=table-and-chairs&limit=3
  3. [REQUEST_URI] => /table-and-chairs.html?limit=3


2. Przykład (nie działający)
http://strona.pl/sofas/sofas-ireland-dublin.html?limit=48
  1. $_SERVER:
  2. [QUERY_STRING] => kategoria=sofas&produkt=sofas-ireland-dublin
  3. [REQUEST_URI] => /sofas/sofas-ireland-dublin.html?limit=48


jak widać w QUERY_STRING czyli w GET, nie ma parametru limit.

Mój cały htaccess:
  1. RewriteEngine on
  2. DirectoryIndex index.php
  3.  
  4. #produkt
  5. RewriteRule ^([^/]+)/(.*).html$ index.php?kategoria=$1&produkt=$2
  6.  
  7. #kategoria
  8. RewriteRule ^([a-zA-Z0-9\-]+)-([0-9]+).html$ index.php?kategoria=$1&page=$2&%{QUERY_STRING}
  9. RewriteRule ^([a-zA-Z0-9\-]+).html$ index.php?kategoria=$1&%{QUERY_STRING}
  10.  
  11. RewriteCond %{REQUEST_FILENAME} !-f
  12. RewriteCond %{REQUEST_FILENAME} !-d
  13. RewriteRule ^(.*)$ ./index.php?/$1 [L,QSA]


Ten post edytował Octobus 29.05.2015, 10:25:54
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 11.10.2025 - 09:49