Skocz do zawartości

Problem z rewrite


Ikky

Rekomendowane odpowiedzi

Ale co ogarnia ? Nic nie wyjaśnił, bo wyrażenie jakie Napisałeś:

RewriteRule ^(.+)/kontakt kontakt.php?lang=$1 [L]

powinno się dopasować do" ^(mininum jeden dowolny znak )(slash)(kontakt) co odpowiada: uk/kontakt i skoro jest dopasowanie dalsze przeszukiwanie dopasowań powinno się zatrzymać.

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

No nie wiem czy dobrze ale zrozumiałem to tak że zanim serwer wyświetli stronę w tym wypadku kontakt.php to odnowa sprawdza htaccess i znajduje kolejną linię RewriteRule pasującą do żądanego adresu (kontakt.php pasuje do RewriteRule ^(.+)$ index.php?lang=$1 [L]), wtedy kolejny raz sprawdza regułki w tym wypadku sprawdzany jest adres index.php który też pasuje do RewriteRule ^(.+)$ index.php?lang=$1 [L]. Stąd w $_GET[lang] znajduje się index.php.

[dodane]

Czyli po napotkaniu [L] kończy przetwarzanie w danej "pętli" ale zaczyna też kolejną w celu ponownego sprawdzenia tego co "wyszło" z poprzedniej. Dopiero kiedy nie znajdzie nowego dopasowania w całej pętli wyświetla to co dopasował ostatnio.

Nie znam się na pozycjonowaniu, ja tu tylko zużywam transfer i miejsce w sql.

Roman Kluska ujawnia: nadchodzi INFLACYJNY ARMAGEDON!

 

Odnośnik do komentarza
Udostępnij na innych stronach

Dokładnie, tak to teraz działa. Przeczytałem jednak dokumentację do mod_rewrite i tam nic o tym nie pisze, tylko że [L] przerywa pętlę. Wygląda więc że albo jest błąd, albo to jest coś dodatkowego w Apache. W każdym razie zalogowałem im ticket w tej sprawie - zobaczymy co odpiszą.

Polecam moje pluginy do WordPress'a: WyPiekacz, Meta SEO Pack, User Locker, Google Integration Toolkit i wiele innych :)

Poradnik Webmastera ‰ Ostatnio na blogu:

PoradnikWebmastera-Blog.1.gif

Odnośnik do komentarza
Udostępnij na innych stronach

Flaga [L] powinna zatrzymać przetwarzanie przy dopasowaniu:

https://httpd.apache.org/docs/2.0/mod/mod_rewrite.html

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Nie, ups :puknijsie:

E:

'nosubreq|NS' (used only if no internal sub-request)

This flag forces the rewriting engine to skip a rewriting rule if the current request is an internal sub-request. For instance, sub-requests occur internally in Apache when mod_include tries to find out information about possible directory default files (index.xxx). On sub-requests it is not always useful and even sometimes causes a failure to if the complete set of rules are applied. Use this flag to exclude some rules.

'skip|S=num' (skip next rule(s))

This flag forces the rewriting engine to skip the next num rules in sequence when the current rule matches. Use this to make pseudo if-then-else constructs: The last rule of the then-clause becomes skip=N where N is the number of rules in the else-clause. (This is not the same as the 'chain|C' flag!)

Zgłupiałem :| nie wiem OCB pewnie jakiś banalny błąd.

nihil fit sine causa

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności