Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: RewriteRule Problem z odpowiednim przekierowaniem - przyjazne linki
Forum PHP.pl > Forum > Serwery WWW > Apache
frogger111
Witam wszystkich forumowiczów.

Mam problem z RewriteRule i przekierowaniem.

Jednak najpierw przykładowe dane:

$offert["parent_id"] = 1
$offert["id"] = 50

Otóż mam coś takiego:

  1. <a href='index.php?a=oferta&no=".($offert["parent_id"])."&id=".$offert["id"]."'>Coś tam</a>
  2. //index.php?a=oferta&no=1&id=50


I chciałbym zrobić z tego ładny i przyjazny link:

oferta/1/50.html

Do .htcaccess dodałem wpis:

Options -Indexes
DirectoryIndex index.php
RewriteEngine On
RewriteRule ^index\.php$ - [L]
RewriteRule ^css/ - [NC,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^oferta/(.*)\.html$ index.php?a=oferta&no=$1 [NC]
RewriteRule ^oferta/(.*)/(.*).html$ index.php?a=oferta&no=$1&id=$2 [NC]

Kod również zmieniłem na
  1. <a href='oferta/".($offert["parent_id"])."/".$offert["id"]."html'>Coś tam</a>
  2. //oferta/1/50.html


Jednak mi to nie działa

Przy jednej bądź 2 wartości tj.

RewriteRule ^oferta/(.*)\.html$ index.php?a=oferta&no=$1 [NC]

Przepisywanie działa i wszystko jest okej. Jednak problem się zaczyna gdy mam więcej niż 2 wartości przekazywane w metodzie GET.

Podejrzałem przez print_r($_SERVER); co tam jest przekazywane i znalazłem coś nieprawidłowego

Przy nie wiecej jak 2 wartosciach jest ok [REDIRECT_QUERY_STRING] => a=oferta&no=1 [REDIRECT_URL] => /website/oferta/1.html
Jednak przy wiekszej ilosci mam [REDIRECT_QUERY_STRING] => a=oferta&no=1/50 [REDIRECT_URL] => /website/oferta/1/50.html

a powinno być a=oferta&no=1$id=50.

Ktoś może mi w tym pomóc?
Tylko proszę mi nie pisać, że powinienem użyć jakiegoś frameworka gdzie przyjazne linki są już wbudowane. Wiem, że są bo używam też Zend-a, ale chciałbym się dowiedzieć dlaczego mi to nie działa i jak to można rozwiązać.
erix
  1. pokaż konkretne linki, reguły, etc, bo trochę to nieczytelnie napisałeś
  2. kropka, to znak specjalny
  3. w kwantyfikatorze "." slesze też się zawierają
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.