Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: mod_rewrite i przyjazne linki?
Forum PHP.pl > Forum > PHP
martq
Witam..
Zaciekawiło mnie tworzenie "przyjaznych linków", poszperałem w google, tu na forum, no ale.. Potrafię zamienić dowolny adres na http://strona.pl/link.html <=>
  1. RewriteRule ^([^=]+)\.html$ index.php?id=$1 [L]

, a w tedy w linkach np. w menu jak zrozumiałem piszę np.
  1. <a href="kontakt.html">Kontakt</a[>

Wszystko fajnie, można manipulować i np. robić linki typu
  1. /oferta/towar1/parametr.html

Potem w php rozbijać to kontroler/metoda/parametr, bądź ustawić inne reguły mod_rewrite, jak np.
  1. Options FollowSymLinks
  2. RewriteEngine On
  3. RewriteRule ^index.html$ index.php [L]
  4. RewriteRule ^([^-]+)/([^-]+)/([^-]+)\.html$ index.php?action=$1&method=$2&param=$3 [L]
  5. RewriteRule ^([^-]+)/([^-]+)\.html$ index.php?action=$1&method=$2 [L]
  6. RewriteRule ^([^-]+)\.html$ index.php?action=$1 [L]


Tutaj moje pierwsze pytanie: tworząc witrynę którego sposobu lepiej używać? Czy jednej zmiennej i rozbijać, czy może trzech zmiennych(param może przechowywać kilka elementów - kilka parametrów) questionmark.gif

Druga sprawa, przeglądałem stronę znajomego robioną w zendzie -http://psychoterapia-strzelceop.pl, no i tam jest fajna sprawa.. Mianowicie przypuśćmy, ze na stronę wchodzi wredny user, który chce coś popsuć i w adresie url wpisuje głupoty, potrafię zabezpieczyć servis przed wpisaniem np http://strona.pl/adadada.html, w tedy po prostu na stronie pojawi się komunikat, iż podstrona nie istnieje, ale jeżeli user wpisze http://strona.pl/adadada.htmadasdasdasda, to już nie mam pojęcia jak zrobić by taki komunikat się wyświetlał ;[. Pytanie dwa brzmi, czy można jakoś przy pomocy mod_rewrite zabezpieczyć się przed takimi "niegrzecznymi" userami? Jeżeli tak, to w jaki sposób?

Trzecie pytanie: czy używanie mod_rewrite jest jedynym rozwiązaniem i czy bezpiecznym? smile.gif
ucho
Jeśli reguły mod_rewrite robią się zbyt rozbudowane robisz nieco inaczej - przekierowujesz wszystkie zapytania, które nie dotyczą istniejących plików, do jednego skryptu PHP, który decyduje kto ma to żądanie obsłużyć (wzorzec Router). Przykład znajdziesz w np. tutorialu Quickstart Zend Framework lub w wielu miejscach na tym forum
martq
Problem, że nie bardzo wiem gdzie szukać i czego dokładnie... Mógłbyś rzucić linkami?
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.