Skocz do zawartości

od rewrite - kilka elementarnych pytań


Rekomendowane odpowiedzi

Witam wszystkich!

Robię prostą witrynę, która będzie miała nie więcej niż 10 podstron o przykładowych adresach:

www.przyklad.pl/index.php

www.przyklad.pl/produkty-nazwa1.php

www.przyklad.pl/produkty-nazwa2.php

www.przyklad.pl/kontakt.php

itd...

Chciałbym posługiwać się przyjaznymi adresami, które będą wyglądać tak:

www.przyklad.pl/

www.przyklad.pl/produkty-nazwa1/

www.przyklad.pl/produkty-nazwa2/

www.przyklad.pl/kontakt/

itd...

Wiem już, że mogę coś takiego osiągnąć za pomocą modułu Mod rewrite ale przyznaję szczerze, że nie rozumiem za bardzo jak to działa. Wygooglałem sobie coś takiego:

<IfModule mod_rewrite.c>

Options +FollowSymLinks

Options +Indexes

RewriteEngine On

RewriteCond %{SCRIPT_FILENAME} !-d

RewriteRule ^([^\.]+)$ $1.php [NC,L]

</IfModule>

1) Czy korzystając z powyższego będę mógł wchodzić na stronę wpisując www.przyklad.pl/kontakt.php i www.przyklad.pl/kontakt i www.przyklad.pl/kontakt/ ?

2) Czy moje wewnętrzne linki na stronie mogą mieć rozszerzenia php czy muszą wyglądać tak jak docelowo bym chciał czyli np. <a href="/kontakt/">kontakt</a>?

3) Czy korzystanie z takiego rozwiązania może mieć jakiś skutki uboczne przy funkcjonowaniu strony, np. przy indeksacji witryny przez Google?

Będę wdzięczny za pomoc!

Odnośnik do komentarza
Udostępnij na innych stronach

Manual apache mod_rewrite nie odpowiada? :)

Wyciąłem zbędne rzeczy:

RewriteEngine On - włącza przepisywanie

RewriteCond %{SCRIPT_FILENAME} !-d - wyrażenie warunkowe, sprawdza czy nie istnieje taki rzeczywisty katalog, jeżeli nie istnieje podąża dalej

RewriteRule ^([^\.]+)$ $1.php [NC,L] - reguła przepisywania czyli przetwarzanie adresu wpisanego w przeglądarce (klikniętego na stronie)

^ - oznacza początek ciągu dopasowywanego do wyrażenia regularnego (domyślnie) części adresu podstrony po nazwie domeny

() - nawiasy służą do przechwytywania dopasowanej części według części wyrażenia w nich zawartego

[] - grupuje klasy znaków (znaki) które mogą wystąpić w danym ciągu

^ - zawarty w [] jest zaprzeczeniem, powoduje że wymienione znaki nie mogą wystąpić w ciągu

\ - przed znakiem specjalnym takim jak na przykład . niweluje jego specjalne znaczenie i kropka staje się tylko kropką

+ - umieszczony za znakiem, klasą znaków, grupą znaków oznacza ich występowanie co najmniej raz

$ - oznacza koniec dopasowywanego URI - adresu podstrony

$1 - oznacza zmienną zawierającą część ciągu przechwyconą przez pierwszy ()

[L,NC] - flagi, pierwsza oznacza że w przypadku dopasowania dana reguła jest ostatnią wykonywaną, druga oznacza że wielkość znaków nie jest brana pod uwagę

1) nie i tak, tak i nie ;)

2) mogą, czemu miały by nie móc? :)

3) tak :)

e:p

:unsure:

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