Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Przyjazne linki
Gray
post
Post #1





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 5.04.2010

Ostrzeżenie: (10%)
X----


Hej,
posiadam na swojej stronie skrypt, który generuje link do każdego wpisu w takiej postaci adres.pl/artykul.php?1 dodatkowo w innej zmiennej przechowywany jest tytuł do artykułu $tytul_artykulu, czy ktoś mógł by mi napisać jak zrobić do tego przyjazny link który wyglądał by na przykład tak: adres.pl/artykul/1/tytul_artykulu

Nie wiem czy podałem wystarczająco dużo danych, w razie potrzeby podam co potrzeba.

Pozdrawiam i z góry dziękuję za pomoc,
Gray

Ten post edytował Gray 2.04.2012, 22:31:09
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
pedro84
post
Post #2





Grupa: Nieautoryzowani
Postów: 2 249
Pomógł: 305
Dołączył: 2.10.2006

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


mod_rewrite
Go to the top of the page
+Quote Post
Gray
post
Post #3





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 5.04.2010

Ostrzeżenie: (10%)
X----


Dzięki ale tyle to i ja wiem... czytałem tutoriale jednak troche to skomplikowane dlatego zapytałem o konkretną pomoc...
Go to the top of the page
+Quote Post
Bureau
post
Post #4





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 18.03.2012

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


sprawdz to:

RewriteRule ^/?([a-z]*)/([a-z]*)/([a-z]*)/([0-9]*)/$ index.php?kataegoria=$1&podkategoria=$2&art=$3&st=$4 [NC,L]

z tym linkiem co ty masz to bym to zrobił tak:

RewriteRule ^/?([a-z]*)([0-9]*)/([a-z]*)/$ artykuly.php?kategoria=$1&id=$2&nazwa=$3 [NC,L]

Chociaż proszę o poprawienie mnie jeśli źle to napisałem, bo z rewrite miałem do czynienia dawno ;d

pozdro.

Ten post edytował Bureau 3.04.2012, 01:21:50
Go to the top of the page
+Quote Post
Gray
post
Post #5





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 5.04.2010

Ostrzeżenie: (10%)
X----


Nie rozumiem, w jaki sposób to ma działać i w jaki sposób to ma wstawiać na końcu tytuł artykułu ze zmiennej?
Go to the top of the page
+Quote Post
jaslanin
post
Post #6





Grupa: Zarejestrowani
Postów: 511
Pomógł: 143
Dołączył: 13.03.2010
Skąd: Jasło

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


mod_rewrite służy do maskowania adresów URL, Mówiąc prościej robi coś takiego, że jak wpisujesz do przeglądarki URL, on po Cichu zmienia go na inny URL. Tak, że jeżeli się nie zgadnie że to mod_rewrite to tego nie widać (może też wykonywać przekierowania i inne ciekawe rzeczy, ale służy głównie do tego o czym pisałem)

Ustawić tytuł musisz w pikach PHP, najprościej gdybyś używał do tego tablicy. I odwoływał się do niej po jej kluczu który odpowiada id z URL

Ten post edytował jaslanin 3.04.2012, 04:39:54
Go to the top of the page
+Quote Post
Bureau
post
Post #7





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 18.03.2012

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


Czyli nie masz nic z tym zrobionego ? (IMG:style_emoticons/default/smile.gif) Myslałem że masz tylko brakuje Ci odpowiedniej regułki w .htaccess (IMG:style_emoticons/default/smile.gif)

Ja robiłem to tak że w pliku z artykułami robiłem wyświetlanie danych z MySQL, a następnie przypisywałem zmiennym wartość z poszczególnych tabel - standardowa chyba procedura u mnie.

np.

Kod
$id = $row['id'];
$nazwa = $row['nazwa_artykulu'];
$kategoria = 'Artykuly';


Wtedy robisz link:

Kod
<a href="artykuly.php?kategoria=<?php echo $kategoria; ?>&id=<?php echo $id; ?>&nazwa=<?php echo $nazwa; ?>"><?php echo $nazwa; ?></a>


to robisz w pliku artykuly.php w listowaniu wszystkich artykułów.

później stwórz na serwerze w głównym katalogu plik o nazwie .htaccess, a w nim:

Kod
RewriteEngine On
# włączenie przepisywania linków
RewriteBase /
# niezbędne kiedy umieszczamy plik .htaccess w podkatalogach naszej domeny
RewriteRule ^/?([a-z]*)/([0-9]*)/([a-z]*)/$ artykuly.php?kategoria=$1&id=$2&nazwa=$3 [NC,L]
# poniżej szersze wyjaśnienie reguł
# powinniśmy zawsze zostawiać pustą linię na końcu pliku .htaccess


nie jestem pewny czy te zmienne musza byc zmienione, ale jeśli tak to spróbuj ten kod:

Kod
RewriteEngine On
# włączenie przepisywania linków
RewriteBase /
# niezbędne kiedy umieszczamy plik .htaccess w podkatalogach naszej domeny
RewriteRule ^/?([a-z]*)/([0-9]*)/([a-z]*)/$ artykuly.php?kategoria=$kategoria&id=$id&nazwa=$nazwa [NC,L]
# poniżej szersze wyjaśnienie reguł
# powinniśmy zawsze zostawiać pustą linię na końcu pliku .htaccess


Ja bym w tym kierunku robił, a przynajmniej kiedyś jak robiłem takie linki to w tym stylu. Może będze Ci to pomocne w jakimś stopniu i Cię nakierunkuje ocb (IMG:style_emoticons/default/smile.gif)

Tylko tu pewnie jeszcze dojdzie Ci funkcja do zmieniania spacji na _ oraz z PL znaków na ENG ponieważ sądze iż nie będą to zbyt przyjazne linki (IMG:style_emoticons/default/tongue.gif)

Pozdrawiam (IMG:style_emoticons/default/smile.gif)

Ten post edytował Bureau 3.04.2012, 09:42:31
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 25.08.2025 - 08:41