Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MOD REWRITE]Przepisywanie adresów
axwell
post
Post #1





Grupa: Zarejestrowani
Postów: 143
Pomógł: 1
Dołączył: 14.11.2007

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


Postanowiłem zająć się przyjaznymi URLami na mojej stronie. Mam do przepisania sporą ilość takich zasad, ale nie znam się na tym. Czytałem kilka poradników, tutoriali, lecz nie wychodzi dlatego proszę Was o podanie mi przykładu, a ja już dalej sobie poradzę.

Mam link w formacie
  1. <?php
  2. czytaj.php?sdzial=&dzial=&dl=&nr=
  3. ?>

z tym, że zmienne $dl oraz $nr nie koniecznie muszą wystąpić. Chciałbym mieć link w formacie artykul-$sdzial-$dzial-$dl-$nr.html
Go to the top of the page
+Quote Post
-Wieviór-
post
Post #2





Goście







Kod
RewriteEngine on
RewriteRule ^artykul-([a-zA-Z]+)-([a-zA-Z]+).html$ czytaj.php?sdzial=$1&dzial=$2
RewriteRule ^artykul-([a-zA-Z]+)-([a-zA-Z]+)-([0-9]+)-([0-9]+).html$ czytaj.php?sdzial=$1&dzial=$2&dl=$3&nr=$4


Po pierwsze brawo za decyzję, bo przyjazne URL to dobra rzecz ;] Jako że użytkownik nie będzie widział tych wszystkich nazw zmiennych (sdzial, dzial, dl, nr) to proponuję je rozszerzyć, by było łatwiej zrozumieć o co chodzi.

Ten post edytował Wieviór 20.12.2008, 23:45:31
Go to the top of the page
+Quote Post
Pitter
post
Post #3





Grupa: Zarejestrowani
Postów: 75
Pomógł: 8
Dołączył: 9.08.2008

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


Wydaje mi się że powinno to wyglądać tak chociaż nie zapewniam że będzie elegancko działać bo sam dobrze nie umiem jednak może chociaż cię na prowadzę
Kod
RewriteEngine on
RewriteRule ^article-([a-bA-Z]+)-([a-bA-Z]+)-([1-9])-([1-9])$ plik.php?sdzial=$1&dzial=$2&dl=$3&nr=$4
Go to the top of the page
+Quote Post
axwell
post
Post #4





Grupa: Zarejestrowani
Postów: 143
Pomógł: 1
Dołączył: 14.11.2007

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


No Panowie, niestety ale działa tylko w 50 % ponieważ:
-w zmiennych sdzial, dzial szuka tylko tekstu, a w mojej zmiennej może być jakaś cyfra np. "rok2006"
-tak jak nadmieniłem $dl i $nr nie muszę istnieć. Więc taki adres url: "artykul-jeden-dwa.html" już nie zadziała...
Go to the top of the page
+Quote Post
-Wieviór-
post
Post #5





Goście







Za cyfry odpowiedzialny jest "0-9", chociaż w tym momencie to już w sumie lepiej chyba dać gwiazdkę po prostu (gwiazdka pozwala na wszelakie znaki).

Jeśli chodzi o drugi Twój punkt - Czy dałeś obie linijki, które ja podałem?

Ten post edytował Wieviór 21.12.2008, 00:08:58
Go to the top of the page
+Quote Post
Pilsener
post
Post #6





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

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


Musisz zrobić klasyfikację, np:
znak / działy
znak - słowa kluczowe
znak , parametry
znak ; parametry dodatkowe
znak _ nr strony

Masz jeszcze _, adresy buduj w stylu:
kategoria1/kategoria2/slowo1-slowo2,id;id2_nrstrony.html

I nie przepisuj wszystkiego, ja jestem przede wszystkim zwolennikiem prostoty, wrzuć cały adres do jednej zmiennej $_GET a w PHP napisz sobie klasę/funkcję do obróbki tego i wyciągnij wszystko, co jest Ci potrzebne.

Robienie takich reguł:
Kod
RewriteRule ^article-([a-bA-Z]+)-([a-bA-Z]+)-([1-9])-([1-9])$ plik.php?sdzial=$1&


To wiązanie sobie rąk, bo zmienia się zarówno struktura serwisu, jak i nazwy plików. Najlepiej wszystkie adresy wrzucaj do pliku index.php i tam je obrabiaj:
Kod
RewriteRule ([^-]*).html$ ?page=$1 [L]
- ja mam tylko jedną regułę i nie mam takich problemów (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Odbieram sobie zmienną $_GET['page'] i wyciągam wszystko, co jest mi potrzebne.
Go to the top of the page
+Quote Post
axwell
post
Post #7





Grupa: Zarejestrowani
Postów: 143
Pomógł: 1
Dołączył: 14.11.2007

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


wszystko ok, przepisuje te strony, które tego wymagają. Kiedyś miałem portal w zwykłym htmlu. Najśmieszniejsze jest to, że nie miałem jeszcze pojęcia wtedy o pozycjonowaniu, wpływaniu tytułów, słów kluczowych na google, a mimo to w niespełna 2 miesiące strona pojawiła się na pierwszych miejscach. Zachęciło mnie to do dalszej pracy i zbudowałem wszystko w PHP. Moje zaskoczenie było bardzo wielkie, gdy z czasem pozycja strony zaczęła spadać. Wtedy to zacząłem się interesować elementami wpływającymi na wyszukiwarkę google. Mam nadzieję, że ten zabieg pomorze przywrócić dobrą passę portalu:)

@Pilsener
Twoja rada jest ciekawa ale aż tak skomplikowanych adresów nie mam, żebym musiał ją stosować (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) przykładowy link z mojej strony wygląda teraz: ' artykul-pomocne-cwiczenia,1.html ' więc zostawie tak jak jest (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) myślę, że przyda mi się jednak w nowych serwisach, które mam zamiar niedługo zacząć robić. Dzięki wszystkim i pozdr (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
erix
post
Post #8





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
zabieg pomorze przywrócić dobrą passę portalu:)

Wiesz, Google może wyżej wyświetlać linki, które nie mają tzw. przyjaznych adresów. SEO jest pojęciem szerokim, lepiej byłoby się IMHO skupić na treści, samej budowie strony.

Bo jeśli chodzi o rodzaje URL-i, to na blogu google było już opisywane: http://feedproxy.google.com/~r/blogspot/am...tatic-urls.html
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: 23.08.2025 - 04:50