Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [.htaccess][mod-rewrite], jak to dziala
yalus
post
Post #1





Grupa: Zarejestrowani
Postów: 281
Pomógł: 0
Dołączył: 8.07.2005
Skąd: EU

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


witam

wiem ze po przeczytaniu mojego pytania wiekszosc powie: to juz bylo,
tak bylo ale ja do konca tego nie qmam

otoz mam dwa pliki:

index.php:

w ktorym mam wygenerowane linki
  1. <a href='find.php?letter=a'>a</a>
i tak az do Z

po kliknieciu w link przechodze do strony find.php gdzie przy pomocy zmiennej letter

wykonuje cos takiego:

  1. $zapytanie = "SELECT * FROM user WHERE LEFT(name, 1)=$_GET['letter']";


(aby nie zaciemniac przykladu pomijam tutaj wszystkie walidacje zmiennej letter po wejsciu do pliku find.php)


w momencia gdy juz sie znajduje w pliku find.php link w pasku adresu przegladarki wygladatak: http://www.mojastrona.pl/find.php?letter=a

wiem ze przy uzyciu pliku .htaccess i odpowiednich regol moge go zmienic do tzw. przyjaznego

moje pytanie brzmi:
czy w moim przypadku jest mozliwosc jego zmiany do http://www.mojastrona.pl/find/letter/a


oraz drugie pytanie (bardzo zblizone do pierwszego)

link wyglada tak http://www.mojastrona.pl/find.php?category=23

zeby przyjazny url wygladal tak http://www.mojastrona.pl/find/category/23


jezeli chodzi o pierwszy link to bawilem sie plikiem .htaccess i doszedlem do czegos takiego ale to za bardzo nie chce dzialac:

RewriteEngine On
RewriteRule (letter) /find.php?letter=$1



czy moglby mi ktos przyblizyc jak by to poprawnie zrobic?


--------------------
człowiek nie sznurek wszystko wytrzyma
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 15)
kwiateusz
post
Post #2


Admin Techniczny


Grupa: Administratorzy
Postów: 2 071
Pomógł: 93
Dołączył: 5.07.2005
Skąd: Olsztyn




RewriteRule ^/letter/([a-z]?)$ /find.php?letter=$1

powinno działać smile.gif
Go to the top of the page
+Quote Post
yalus
post
Post #3





Grupa: Zarejestrowani
Postów: 281
Pomógł: 0
Dołączył: 8.07.2005
Skąd: EU

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


dzieki
a czy moglbys mi pomoc ztym linkiem gdzie jest category?


--------------------
człowiek nie sznurek wszystko wytrzyma
Go to the top of the page
+Quote Post
kwiateusz
post
Post #4


Admin Techniczny


Grupa: Administratorzy
Postów: 2 071
Pomógł: 93
Dołączył: 5.07.2005
Skąd: Olsztyn




RewriteRule ^find/category/([0-9]+)$ /find.php?category=$1
Go to the top of the page
+Quote Post
yalus
post
Post #5





Grupa: Zarejestrowani
Postów: 281
Pomógł: 0
Dołączył: 8.07.2005
Skąd: EU

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


nie wiem co robie nie tak, ale te dwie regoly u mnie nie dzialaja

oto jak wyglad moj plik .htaccess

RewriteEngine On
RewriteRule ^/letter/([a-z]?)$ /find.php?letter=$1
RewriteRule ^find/category/([0-9]+)$ /find.php?category=$1

php_flag session.use_trans_sid off



nie wiesz co moze byc nie tak?


--------------------
człowiek nie sznurek wszystko wytrzyma
Go to the top of the page
+Quote Post
kwiateusz
post
Post #6


Admin Techniczny


Grupa: Administratorzy
Postów: 2 071
Pomógł: 93
Dołączył: 5.07.2005
Skąd: Olsztyn




RewriteEngine On
RewriteRule ^letter/([a-z]?)$ /find.php?letter=$1
RewriteRule ^find/category/([0-9]+)$ /find.php?category=$1

az przeprowadziłem testy smile.gif
Go to the top of the page
+Quote Post
yalus
post
Post #7





Grupa: Zarejestrowani
Postów: 281
Pomógł: 0
Dołączył: 8.07.2005
Skąd: EU

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


i w Twoim przypadku dziala?


a czy ustawienia w pliku konfiguracyjnym serwera dokonane przez admina moga miec na to wplyw?


--------------------
człowiek nie sznurek wszystko wytrzyma
Go to the top of the page
+Quote Post
kwiateusz
post
Post #8


Admin Techniczny


Grupa: Administratorzy
Postów: 2 071
Pomógł: 93
Dołączył: 5.07.2005
Skąd: Olsztyn




działa, zauwaz ze przed find nie ma / sprawdzalem na prostym skrypcie co pokazywal letter i category z geta i działało idealnie

moze pod RewriteEngine dodaj RewriteBase /
Go to the top of the page
+Quote Post
yalus
post
Post #9





Grupa: Zarejestrowani
Postów: 281
Pomógł: 0
Dołączył: 8.07.2005
Skąd: EU

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


nie wiem co jest nie tak

stronke mam na nazwa.pl

skopiowalem dokladnie to samo do pliku .htaccess i wrzucilem do katalogu gdzie znajduje sie plik index.php i find.php:

RewriteEngine On
RewriteRule ^letter/([a-z]?)$ /find.php?letter=$1
RewriteRule ^find/category/([0-9]+)$ /find.php?category=$1


i nic dalej mam link find.php?letter=a


zerknij na stronke sam zobaczysz
http://www.notrecommended.co.uk

Ten post edytował yalus 27.06.2008, 16:33:23


--------------------
człowiek nie sznurek wszystko wytrzyma
Go to the top of the page
+Quote Post
kwiateusz
post
Post #10


Admin Techniczny


Grupa: Administratorzy
Postów: 2 071
Pomógł: 93
Dołączył: 5.07.2005
Skąd: Olsztyn




działa http://www.notrecommended.co.uk/letter/n

tylko nie zrozumiałeś jak mod_rewrite działa winksmiley.jpg on nie przeleci Ci źródła strony i nie pozamienia linków tylko jesli podasz mu link w przegladarce on go przetworzy czyli jak wchodzisz na http://www.notrecommended.co.uk/letter/n to serwer w rzeczywistosci w tle odpala http://www.notrecommended.co.uk/find.php?letter=n

innymi slowy, linki musisz sam sobie pozamieniać z find.php? na find/
Go to the top of the page
+Quote Post
yalus
post
Post #11





Grupa: Zarejestrowani
Postów: 281
Pomógł: 0
Dołączył: 8.07.2005
Skąd: EU

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


nie qmam tego w 100%
nie mam pojecia co mam zrobic, nigdy wczesniej nie uzywalem .htaccess

w zrodle moje linki wygladaja tak
  1. <a class='link_normal' href='find.php?letter=a'>a</a>


czy to co powiedziales to znaczy ze mam je jakos zmienic?

czy moglbys mi to pokrotce wytlumaczyc, nie chce cie naciagac ale bardzo prosze tylko o jeden przyklad jak mam to zrobic aby osiagnac zamierzony efekt


--------------------
człowiek nie sznurek wszystko wytrzyma
Go to the top of the page
+Quote Post
kwiateusz
post
Post #12


Admin Techniczny


Grupa: Administratorzy
Postów: 2 071
Pomógł: 93
Dołączył: 5.07.2005
Skąd: Olsztyn




  1. <a class='link_normal' href='letter/a'>a</a>
  2. <a class='link_normal' href='letter/b'>b</a>
  3. <a class='link_normal' href='letter/c'>c</a>


itd

mod_rewrite polega na tym ze on operauje na adresie wpisanym w pole adresu przegladarki, z samym generowaniem strony i odnośnikow na niej nie ma nic wspolnego
Go to the top of the page
+Quote Post
yalus
post
Post #13





Grupa: Zarejestrowani
Postów: 281
Pomógł: 0
Dołączył: 8.07.2005
Skąd: EU

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


dzieki

ale czy moglbys wejsc jeszcze raz na ta stronke http://www.notrecommended.co.uk i zobacz co sie dzieje
zmienila sie sciezka


to jest funkcja ktora generuje linku

  1. <?php
  2. for ($i=97; $i<=122; $i++)
  3.  {
  4. echo"<a class='link_normal' href='letter/".chr($i)."'>".chr($i)."</a>&nbsp;";
  5.  }
  6. ?>



i po kazdym kliknieciu w link przechodze do nastepnego katalogu letter/letter
itd

Ten post edytował yalus 27.06.2008, 16:58:00


--------------------
człowiek nie sznurek wszystko wytrzyma
Go to the top of the page
+Quote Post
hateman
post
Post #14





Grupa: Zarejestrowani
Postów: 86
Pomógł: 18
Dołączył: 28.04.2008
Skąd: Poznań

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


Powinieneś przedstawiać linki w postaci bezwzględnej np:
http://www.notrecommended.co.uk/letter/a

To samo tyczy się pliku css, bo przeglądarka szuka w
http://www.notrecommended.co.uk/letter/a/css/style.css

a jak dasz w headzie

<link type="text/css" rel="stylesheet" href="http://www.notrecommended.co.uk/css/style.css">

to bedzie ok

Ten post edytował hateman 27.06.2008, 18:10:35
Go to the top of the page
+Quote Post
yalus
post
Post #15





Grupa: Zarejestrowani
Postów: 281
Pomógł: 0
Dołączył: 8.07.2005
Skąd: EU

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


chyba juz troche zajazylem z tym mod-rewrite

dzieki


--------------------
człowiek nie sznurek wszystko wytrzyma
Go to the top of the page
+Quote Post
FliSs_tCv
post
Post #16





Grupa: Zarejestrowani
Postów: 198
Pomógł: 3
Dołączył: 27.02.2007
Skąd: Tczew

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


Witam winksmiley.jpg próbuję ustawić u siebie również to co kolega wyżej ale mi nie pokazuje zawartości strony www w katalogu powyżej głównego muszę wtedy coś dopisać?

Drzewo:

- www
- - katalog_w_którym_jest_strona


Proszę o pomoc smile.gif pozfdrawiam


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 14:42