Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> RewriteRule Problem z odpowiednim przekierowaniem - przyjazne linki
frogger111
post
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 29.08.2012

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


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ć.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




  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ą
Go to the top of the page
+Quote Post

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: 15.09.2025 - 15:21