Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [inne]RewriteRule opcjonalna wersja językowa
!*!
post
Post #1





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Kod
RewriteRule ^([a-z]{2}+)/([a-z0-9_]+)$ /index.php?lang=$1&article=$2

działa na zasadzie:
Kod
http://domena.com/pl/jakisTAMwyraz


pierwsza reguła po domenie jest to wersja językowa serwisu, jednak jak zrobić żeby w przypadku jej braku, buła możliwa dalsza nawigacja po serwisie?

Kod
http://domena.com/jakisTAMwyraz


Idealny przykład działania ma apple...

Kod
http://www.apple.com/pl/ipad/ios4/
http://www.apple.com/ipad/ios4/


i działa w obu przypadkach.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
erix
post
Post #2





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




Cytat
To nie ma znaczenia, w obu przypadkach działa tak samo źle. Poza tym nie rozumiem dlaczego jako pierwszy ciąg mam dać .* skoro chodzi tylko o pierwszą pozycje.

Kolejność ma znaczenie, bo w przypadku:

[APACHE] pobierz, plaintext
  1. RewriteRule ^(.*)$ index.php?rt=$1 [L,QSA]
  2. RewriteRule ^([a-z]{2}+)/([a-z0-9_]+)$ /index.php?lang=$1&article=$2
[APACHE] pobierz, plaintext

URL pasujący do drugiego wzorca, będzie pasował - w rzeczywistości - również i do pierwszego. Dlatego kolejność jest istotna.

A z palca klepiąc, strzelam w takiej postaci:
[APACHE] pobierz, plaintext
  1. RewriteRule ^([a-z]{2})/([a-z0-9_]+)$ /index.php?lang=$1&article=$2
  2. RewriteRule ^([a-z0-9_]+)$ /index.php?lang=pl&article=$2
[APACHE] pobierz, plaintext


Cytat
Idealny przykład działania ma apple...

To już jest serwis takiego kalibru, że raczej ma to już na poziomie kontrolera aplikacji rozwiązane.
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: 26.12.2025 - 14:09