Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Poradnik] Przyjazne linki (ModRewrite)


Nydylier

Rekomendowane odpowiedzi

Opublikowano

Witam!

Postanowiłem napisać poradnik jak zrobić przyjazne linki, czyli jeżeli chcemy, aby zamiast:

www.strona.pl/index.php?a=1500&b=100&c=900

w pasku adresu pojawiło się:

www.strona.pl/home

 

Ok, a więc zaczynamy od stworzenia pliku o nazwie ".htaccess" (bez cudzysłowia), następnie w nim zaczynamy od włączenia ModRewrite, a więc piszemy:

 

Options FollowSymLinks

RewriteEngine On

 

Teraz piszemy zamianę linków, gdy chcemy by link został zmieniony z /index.php na /home

piszemy:

 

RewriteRule ^home$ index.php [L]

 

lecz gdy chcemy zmienić też zmienne to:

 

RewriteRule ^home/([^-]+)$ index.php?a=$1 [L]

 

([^-]+) wyświetla treść zmiennej w pasku adresu, a $1 pobiera treść zmiennej z orginalnego adresu, np. jeżeli chcemy dodać kolejną zmienną to dodajemy po $1:

&b=$2

i dopisujemy po ([^-]+) znak oddzielający np. "/" (ale nie trzeba) i ([^-]+)

lecz gdy chcemy ukryć - nie piszemy wcale ([^-]+)

 

Myślę, że wszystko wyjaśniłem zrozumiale. ;)

...a jak nie to coś się dopisze lub poprawi. :D

Opublikowano

eee beznadziejny sposób?

 

Co jeśli chcę inne podstrony? Będę ręcznie wszystkie dodawał?

 

RewriteRule ^home$ index.php [L]
RewriteRule ^prace$ prace.php [L]
Co jeśli na końcu jest slash? co jeśli go nie ma? Co to za ładny link skoro dalej będzie i tak: ?foo=bar&asd=dsa
Nie ustawiasz rewrite base, powodzenia przy większych strukturach katalogów
Co jeśli nie ma danej strony?
Generalnie nic nie pokazałeś, pierwszy wynik z google daje więcej informacji
Opublikowano

Tak, dopisuje się więcej, ja innego sposobu nie znam.

 

Nie, nie wyświetli się po np. /home ?bcm=dnf jeżeli będzie więcej get, no chyba że taki link ustawisz np. <a href="/home?abc=def">.

 

Jeżeli nie ma to pokaże błąd Not Found 404. Robię spore stronki i nie mam problemu z tym.

 

Szukałem tego w google i jest pełno tego, lecz większości się nie da zrozumieć. ;)

 

Skoro znasz lepszy sposób to się nim podziel. ;)

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...