Autor |
Wiadomość
|
Martin |
Wysłany: 17 Wrz 2005, 08:07 Temat postu: przyjazne adresy na naszych stronach |
|
|
KCS_Admin
Dołączył: 17 Cze 2005 Posty: 5566
Skąd: Piaseczno
|
Dostaje bardzo dużo maili od Internautów z pytaniem w jaki sposób zmieniłem postać linków w Katalogu na bardziej przyjazne wyszukiwarkom i robotom indeksującym nasze strony. Kilku z Was odpowiedziałem w mailu - lecz stwierdziłem, że w końcu do wymiany informacji powstało forum katalogu
Miałem zamiar opisywac tutaj metodę jaka została zastosowana w Katalogu Ciekawych Stron i jest oparta o bibliotekę "mod_rewrite" lecz stwierdziłem, że nie będę po raz kolejny dublował dobrze opisanych informacji na innych stronach w Interncie.
Postanowiłem wskazać Wam jedynie pomocne w tym adresy w Internecie, gdzie przeczytacie dość dokładnie opisane sposoby wykonania tego.
http://www.webinside.pl/php/artykuly/187
Jest tam artykuł o parsowaniu URLi - dwiem metodami:
1. oparta o zmienną PATH_INFO
Kod: | Options Indexes, Symlinks, Multiviews
<Files index>
ForceType application/x-httpd-php
</Files>
$_SERVER['PATH_INFO'] = (isset($_SERVER['PATH_INFO']) && $_SERVER['PATH_INFO'] != '/') ? $_SERVER['PATH_INFO'] : '/news';
$sklad_URL = explode('/', substr($_SERVER['PATH_INFO'], 1)); |
efekt po zastosowaniu:
zamiast: http://www.strona.pl/index.php?id=news&do=pokaz&ktory=6
uzyskamy: http://www.strona.pl/news/pokaz/6
opis szczegółowy kodu na powyższej stronie
2. oparta o bibliotekę "mod_rewrite":
Kod: | RewriteEngine On
RewriteRule ^/news/(.*)/(.*) /news.php?do=$1&ktory=$2 |
taką metodę zastosowaliśmy w Katalogu KCS
efekt po zastosowaniu:
zamiast: http://kataloog.info/kategoria.php?kat=Edukacja%20Nauka%20Technika
uzyskaliśmy: http://kataloog.info/kategoria-Edukacja-Nauka-Technika.html
opis szczegółowy kodu na powyższej stronie
http://webpl.org/index.php/porady/php/1100216095
Opisana jest tam metoda oparta o zmienną PATH_INFO
UWAGA w przypadku chęci zastosowania metody opartej o bibliotekę "mod_rewrite" musisz przed tym sprawdzić, czy serwer, na którym masz swoją stronę obsługuję tą bibliotekę (ma włączoną) _________________ Martin
- Prywatny Katalog Stron
- pizzeria La Nostra zaprasza
- e-Piaseczno i okolice, to najlepsze miejsce dla e-mieszkanca powiatu piaseczynskiego
- najlepsze prywatne przedszkole w Piasecznie
- moj prywatny fotoblog ze zdj?ciami |
|
Powrót do góry |
|
|
KCS |
Wysłany: Temat postu: Reklama w KCS |
|
|
|
|
Powrót do góry |
|
|
Koniu |
Wysłany: 05 Paź 2005, 11:52 Temat postu: |
|
|
Wszechwiedzący
Dołączył: 11 Wrz 2005 Posty: 1123
Ostrzeżeń: 1 Skąd: Warszawa
|
proboje cos z tym wywalczyc ale nie idzie mi cos
Pierw sprawdzilem czy mod_rewrite dziala jak podano
Kod: | RewriteEngine On
RewriteRule ^dzial([0-9]*).htm /index.php?dzial=$1 |
nie wywalilo bleda wiec chyba jest ta biblioteka na serwie pozniej kombinowalem jak kon pod gore z formulami ale nic sensownego nie wyszlo Martin podzucil taka ale tez nei dziala , a hosting mam na intenie. i pytanie htaccess ma byc tam gdzie subdomena czy dla domeny ? (zaznacze ze probowalem tak i tak bez efektu)
Kod: | RewriteRule ^index-([a-zA-Z-]+)(,?([0-9]+))?.html$ /index.php?akcja=$1&zobacz=$3 | _________________ Nieruchomo?ci Og?oszenia motoryzacyjne Katalog Stron |
|
Powrót do góry |
|
|
Martin |
Wysłany: 05 Paź 2005, 12:56 Temat postu: |
|
|
KCS_Admin
Dołączył: 17 Cze 2005 Posty: 5566
Skąd: Piaseczno
|
Wpis musi być w pliku - .htaccess i jeżeli masz domene i subdomene to musi być we wszystkich katalogach. Plik i wpisy muszą być w tym samym katalogu co strony do których odnoszą się te wpisy.
Kod: | RewriteEngine On
RewriteRule ^index-([a-zA-Z-]+)(,?([0-9]+))?.html$ /index.php?akcja=$1&zobacz=$3 |
Ten wpis nie działa
Na Twojej stronie widze ze jest przekazywane 2 zmienne np:
http://www.dom.mieszkaniowy.com/index.php?akcja=oferta&zobacz=812
Przy tym wpisie w pliku .htaccess powinna działać podstrona jako:
Kod: | index-oferta,812.html |
http://www.dom.mieszkaniowy.com/index-oferta,812.html
Aby przetestować, czy admin Twojego serwera udostępnił możliwość stosowania -- mod-rewrite musisz zrobić stronę test.php
o treści kodu:
Kod: | <?php
print_r($HTTP_GET_VARS);
?> |
Następnie zrób wpis w pliku .htaccess wpis:
Kod: | RewriteRule ^test-([a-zA-Z-]+)(,?([0-9]+))?.html$ /test.php?akcja=$1&zobacz=$3 |
Jak już to zrobisz to odpal stronę:
test-oferta,812.html
http://www.dom.mieszkaniowy.com/test-oferta,812.html
i zobacz czy przekazywane są parametry do podstrony i czy obsługiwany jest mod-rewrite. Wtedy powinieneś widzieć coś takiego:
Kod: | Array ( [akcja] => oferta [zobacz] => 812 ) |
Jak nie będzie tego - to znaczy, że nie obsługuje Twoj serwer tego. _________________ Martin
- Prywatny Katalog Stron
- pizzeria La Nostra zaprasza
- e-Piaseczno i okolice, to najlepsze miejsce dla e-mieszkanca powiatu piaseczynskiego
- najlepsze prywatne przedszkole w Piasecznie
- moj prywatny fotoblog ze zdj?ciami |
|
Powrót do góry |
|
|
Koniu |
Wysłany: 05 Paź 2005, 13:47 Temat postu: |
|
|
Wszechwiedzący
Dołączył: 11 Wrz 2005 Posty: 1123
Ostrzeżeń: 1 Skąd: Warszawa
|
|
Powrót do góry |
|
|
Martin |
Wysłany: 05 Paź 2005, 13:52 Temat postu: |
|
|
KCS_Admin
Dołączył: 17 Cze 2005 Posty: 5566
Skąd: Piaseczno
|
No to super - jesteś już w domu jeżeli działa mod-rewrite i ten wpis co ci podałem - a jak widzę po wejściu na link wyświetla się oferta
Teraz jedynie musisz pozmienić parametry jakie przypisujesz do hiperłączy przekierowujących do poszczególnych ofert w bazie.
Bo jak wszedłem na stronę i patrze na link więcej >> to pokazuje ze starymi adresami bez mod-rewrite. Jeżeli to zrobisz to przy najbliższych odwiedzinach Google na Twojej stronie zaindeksuje już Twoją stronę z nowym wyglądem linków, które zdecydowanie są dla niego przyjemniejsze
p.s. Co do studiowania i myślenia to powiem Ci, że jak studowałem to mniej myślałem - teraz zdecydowanie więcej myślę _________________ Martin
- Prywatny Katalog Stron
- pizzeria La Nostra zaprasza
- e-Piaseczno i okolice, to najlepsze miejsce dla e-mieszkanca powiatu piaseczynskiego
- najlepsze prywatne przedszkole w Piasecznie
- moj prywatny fotoblog ze zdj?ciami
Ostatnio zmieniony przez Martin dnia 05 Paź 2005, 13:58, w całości zmieniany 1 raz |
|
Powrót do góry |
|
|
Koniu |
Wysłany: 05 Paź 2005, 13:55 Temat postu: |
|
|
Wszechwiedzący
Dołączył: 11 Wrz 2005 Posty: 1123
Ostrzeżeń: 1 Skąd: Warszawa
|
Martin napisał: |
Teraz jedynie musisz pozmienić parametry jakie przypisujesz do hiperłączy przekierowujących do poszczególnych ofert w bazie.
|
nie bardzo kumam
google i tak ostanio z podstronami mi szaleje _________________ Nieruchomo?ci Og?oszenia motoryzacyjne Katalog Stron |
|
Powrót do góry |
|
|
Martin |
Wysłany: 05 Paź 2005, 14:04 Temat postu: |
|
|
KCS_Admin
Dołączył: 17 Cze 2005 Posty: 5566
Skąd: Piaseczno
|
Jak otwierasz swoją stronę to masz jakieś tam oferty, zdjęcia i przy każdej ofercie masz napis więcej >> czyli podczepione masz tam hiperłącze z linkiem do szczegółów oferty.
np: http://www.dom.mieszkaniowy.com/index.php?akcja=oferta&zobacz=807
czyli wnioskuje z tego, że do napisu więcej masz przypisane hiperłącze
np:
Kod: | <a href="index.php?akcja=oferta&zobacz=$id">więcej</a> |
teraz zamiast tego musisz pisać w tym linku coś takiego:
Kod: | <a href="index-oferta-$id">więcej</a> |
p.s. Google ostatnio ogólnie szaleje bo zbliża się update PageRank
Dodatkowo musisz zrobić też mod-rewrite do podstrony:
http://www.dom.mieszkaniowy.com/index.php?akcja=ogloszenia
na której masz mapkę z innymi parametrami bo inne nazwy zmiennych są przekazywane do podstrony i tak samo dostosować hiperłącza. _________________ Martin
- Prywatny Katalog Stron
- pizzeria La Nostra zaprasza
- e-Piaseczno i okolice, to najlepsze miejsce dla e-mieszkanca powiatu piaseczynskiego
- najlepsze prywatne przedszkole w Piasecznie
- moj prywatny fotoblog ze zdj?ciami |
|
Powrót do góry |
|
|
Koniu |
Wysłany: 15 Paź 2005, 17:29 Temat postu: |
|
|
Wszechwiedzący
Dołączył: 11 Wrz 2005 Posty: 1123
Ostrzeżeń: 1 Skąd: Warszawa
|
|
Powrót do góry |
|
|
Koniu |
Wysłany: 02 Lis 2005, 22:11 Temat postu: |
|
|
Wszechwiedzący
Dołączył: 11 Wrz 2005 Posty: 1123
Ostrzeżeń: 1 Skąd: Warszawa
|
|
Powrót do góry |
|
|
Martin |
Wysłany: 03 Lis 2005, 09:13 Temat postu: |
|
|
KCS_Admin
Dołączył: 17 Cze 2005 Posty: 5566
Skąd: Piaseczno
|
Czyzbys zastosowal kod:
Kod: | RewriteRule ^index-(.*),(.*).html$ /index.php?akcja=$1&wojewodztwo=$2 |
Co do polskich znakow to powiedz jak sobie radzisz w przypadku zwyklych adresow bez maskowania mod-rewrite? Bo zaobserwowalem, ze masz np:
Kod: | index.php?akcja=ogloszenia&wojewodztwo=%A3%F3dzkie |
i w zmiennej wojewodztwo przekazuje ci wartosc %A3%F3dzkie
Od dawien dawna nie poleca sie stosowania polskich liter w adresach (url). Nie wiem czy zauwazyles, ze nazwy np: kategorii w Katalogu KCS sa bez polskich liter. _________________ Martin
- Prywatny Katalog Stron
- pizzeria La Nostra zaprasza
- e-Piaseczno i okolice, to najlepsze miejsce dla e-mieszkanca powiatu piaseczynskiego
- najlepsze prywatne przedszkole w Piasecznie
- moj prywatny fotoblog ze zdj?ciami |
|
Powrót do góry |
|
|
Koniu |
Wysłany: 03 Lis 2005, 11:03 Temat postu: |
|
|
Wszechwiedzący
Dołączył: 11 Wrz 2005 Posty: 1123
Ostrzeżeń: 1 Skąd: Warszawa
|
|
Powrót do góry |
|
|
Martin |
Wysłany: 03 Lis 2005, 11:25 Temat postu: |
|
|
KCS_Admin
Dołączył: 17 Cze 2005 Posty: 5566
Skąd: Piaseczno
|
Bez sensu meczyc sie z polskimi znakami. Masz kilka nazw wojewodztw z polskimi znakami i szybciej rozwiazesz problem eliminujac te znaki. Takie jest moje zdanie.
Mozesz pobawic sie jeszcze z funkcją str_replace w PHP, ale uwazam ze to jest za duzo zabawy. _________________ Martin
- Prywatny Katalog Stron
- pizzeria La Nostra zaprasza
- e-Piaseczno i okolice, to najlepsze miejsce dla e-mieszkanca powiatu piaseczynskiego
- najlepsze prywatne przedszkole w Piasecznie
- moj prywatny fotoblog ze zdj?ciami |
|
Powrót do góry |
|
|
Koniu |
Wysłany: 03 Lis 2005, 11:35 Temat postu: |
|
|
Wszechwiedzący
Dołączył: 11 Wrz 2005 Posty: 1123
Ostrzeżeń: 1 Skąd: Warszawa
|
|
Powrót do góry |
|
|
Martin |
Wysłany: 03 Lis 2005, 11:55 Temat postu: |
|
|
KCS_Admin
Dołączył: 17 Cze 2005 Posty: 5566
Skąd: Piaseczno
|
Decyzja nalezy do Ciebie.
Jezeli baze danych masz zrobiona z polaczenia 2 tabel - ogloszenia i wojewodztwa to zmianiesz tylko w tabeli wojewodztwa i sprawe masz zalatwiona. Jezeli masz niestety dane o wojewodztwach trzymane w jednej tabeli razem z reszta ogloszenia - to pozostaje wykonanie polecenia UPDATE i zamieni ci SQL z automatu wszystkie dane w tabeli. _________________ Martin
- Prywatny Katalog Stron
- pizzeria La Nostra zaprasza
- e-Piaseczno i okolice, to najlepsze miejsce dla e-mieszkanca powiatu piaseczynskiego
- najlepsze prywatne przedszkole w Piasecznie
- moj prywatny fotoblog ze zdj?ciami |
|
Powrót do góry |
|
|
Koniu |
Wysłany: 03 Lis 2005, 15:28 Temat postu: |
|
|
Wszechwiedzący
Dołączył: 11 Wrz 2005 Posty: 1123
Ostrzeżeń: 1 Skąd: Warszawa
|
|
Powrót do góry |
|
|
|