htaccess przepisywanie adresów url

0

Witam,
na dzień dzisiejszy mam adresy typu:

http://moja-domena.pl/kategoria_produktu/nazwa_produktu/

zaznaczam że /kategoria_produktu/nazwa_produktu/ jest rzeczywistą ścieżką
chcę stworzyć unikalne adresy:

http://moja-domena.pl/produkt-nazwa_produktu.php

i w zasadzie wszystko jest ok:

RewriteEngine on
RewriteBase /
RewriteRule ^produkt-([a-z_0-9\-\_]+)\.php$ /produkt.php [R=301,L]  

z tym że chciałbym żeby to przekierowanie przekazało do pliku produkt.php dwie zmienne: kategoria_produktu i nazwa_produktu, pozostając przy adresie w postaci /produkt-nazwa_produktu.php

nazwę produktu mogę pobrać sobie w pliku php chociaż by za pomocą $_SERVER['REQUEST_URI'],
zostaje tylko problem jak przekazać nazwę kategorii.
Macie jakieś pomysły na to ?

0

Czyli chcesz mieć w linku tylko nazwę produktu, ale jakimś cudem chcesz przekazywać nazwę kategorii, której w linku nie będzie? wtf?
W bazie produkty i tak masz chyba powiązane z kategoriami, więc w sumie po co Ci kategoria w parametrze (której nie chcesz w URL, a więc przeczysz sam sobie), skoro możesz ją wybrać w kodzie?

0

Moim zdaniem chcesz zrobić rzecz niemożliwą.
Po adresie /produkt-nazwa_produktu.php w żadnym wypadku Apache nie może wnioskować o nazwie kategorii.
Możesz oczywiście w skrypcie PHP przeszukać (bazę lub pliki) w poszukiwaniu produktu o nazwie nazwa_produktu i otrzymać wtedy kategorię.
Ale żeby moduł mod_rewrite przekierował od razu do /nazwa_kategorii/nazwa_produktu/ to musi wiedzieć jaka ta nazwa jest, więc musi być częścią żądania HTTP.

0

No i wszystko w tym temacie. Coś mi iskrzyło w głowie że tak się nie da tego zrobić ale lepiej zapytać. Myślałem że może da się to załatwić z uzyciem samego htaccessa bez dodatkowych zapytań do bazy.
Dzięki za odpowiedzi i pozdrawiam.

1 użytkowników online, w tym zalogowanych: 0, gości: 1