Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Mod_rewrite] bez przekierowania
Forum PHP.pl > Forum > Serwery WWW > Apache
lompi91
Witam,
Mam następujący problem z mod_rewrite: chciałbym aby zamiast np. index.php?a=produkt&id=1 było produkt,1,nazwa_produktu.html. Mój plik ma następującą treść:

Kod
RewriteEngine On
RewriteRule ^([^-]+),([^-]+),([^-_]+)\.html$ http://domena.pl/index.php?a=$1&id=$2 [L,NC,NS]


Wszystko działa jak powinno. Tylko chciałbym, żeby zamiast przekierowywać na adres index.php?a=produkt&id=1 w przeglądarce była otworzona strona index.php?a=produkt&id=1 a w pasku adresu nadal wyświetlało się produkt,1,nazwa_produktu.html.
W jaki sposób to zrobić?
PS. Wiem że coś takiego jest możliwe do osiągnięcia, ponieważ nie raz się spotkałem z czymś takim na innych stronach internetowych.
dr_bonzo
Zeby w przegladarce bylo: produkt,1,nazwa.html to musisz na taki url kolesia przekierowac (a nie na index.php?a=....).
lompi91
Ale w jaki sposób mam przekierować użytkownika na produkt,1,nazwa.html jeżeli fizycznie taki plik nie istnieje na serwerze?
PS. Niebardzo się znam na mod_rewrite dlatego byłbym wdzięczny jeśli by ktoś napisał co konkretnie powinienem zrobić aby rozwiązać ten problem.
dr_bonzo
Eh,

Cytat
Wszystko działa jak powinno.

Czyli co? jak wpiszesz w przegladarke "produkt,1,nazwa_produktu.html" to pojawi ci sie strona z produktem 1? Tak?
Cytat
Ale w jaki sposób mam przekierować użytkownika na produkt,1,nazwa.html jeżeli fizycznie taki plik nie istnieje na serwerze?

Dziala, a przeciez nie masz tego pliku na serwerze smile.gif


A czym sie rozni wpisanie takiego adresu w przegladarce od klikniecia zwyklego linka z takim adresem?

<a href="/produkt,1,nazwa_produktu.html"> ....</a> - ot, cala magia
lompi91
Działa ponieważ przekierowuje użytkownika na stronę index.php?a=produkt&id=1 i po załadowaniu strony właśnie taki adres widnieje w jego przeglądarce, a chciałbym, żeby w przeglądarce wyświetlał się adres produkt,1,nazwa_produktu.html

PS. Chciałbym, żeby to wszystko wyglądało tak jak np. na www.aqq.bajo.pl
phpion
  1. <a href="/produkt,1,nazwa_produktu.html">Produkt</a>

questionmark.gif
lompi91
No fakt... klikając w taki link załaduje się strona taka jak należy, no ale w przeglądarce na pasku adresu będzie się wyświetlać index.php?a=produkt&id=1 a ja chcę, żeby wyświetlało się nadal produkt,1,nazwa_produktu.html
phpion
Wywal te przełączniki z końca:
Kod
RewriteRule ^([^-]+),([^-]+),([^-_]+)\.html$ http://domena.pl/index.php?a=$1&id=$2

lub pozostaw samo [L]
dr_bonzo
Eh, przyznaje sie ze nie zwrocilem uwagi w ogole na te NC, NS :/
lompi91
Jeśli na końcu nic nie ma... albo jeśli jest tylko same [L]... to nadal jest przekierowanie.
phpion
Kod
RewriteRule ^([^-]+),([^-]+),([^-_]+)\.html$ index.php?a=$1&id=$2

Może tak.
lompi91
Ekstra... teraz działa... kurcze... taka błahostka... a ja na to nie wpadłem ;P
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.