Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Indeksowanie dynamicznych URLi w wyszukiwarkach.
Forum PHP.pl > Forum > PHP > Pro > Archiwum Pro
Stron: 1, 2
5z474n
mam pytanei, moze ktos wie
:?: czy jest jakas roznica ktora powodowalaby ze stony indeksowane
( chyba to sie takk nazywa czyli wszystko oparte na jednym pliku np index.php a pozniej ?nr=costam by stworzyc kolejne )
:arrow: sa gorsze od wielu oddzielnch stron
( czyli tworzenie za kazdym razem costam.php ktora zawiera include("index.php"); i jest tworzona identycznie jak index.php?nr=costam ) questionmark.gif :]]

moze ktos wie czy dla wyszukiwarek to jest jakas roznica questionmark.gif

Tytuł zmieniony przez moderatora.
mateuszkrzeszowiec
Eh, też mnie to intryguje...

Czy lepiej generować cały czas żądane strony czy raz (zapisywać na dysku serwera) i po każdej zmianie.
spenalzo
Cytat
Czy lepiej generować cały czas żądane strony czy raz (zapisywać na dysku serwera) i po każdej zmianie.

Oczywiście że lepiej raz wygenerować po czym zapisać do HTMLa i aktualizować automatycznie niż za każdym razem korzystać z php.
Chyba o to chodzło?
mateuszkrzeszowiec
Fajnie, ale czy mógłbyś to poprzeć jakimiś przykładami? Nieważne czy rozwiązania darmowe czy komercyjne (w zasadzie bardziej interesują mnie darmowe).

Bo zasadnicza różnica (o ile rozumiem temat smile.gif ) to to czy trzymać dane w kilku/set/tysiącach plików html + baza, czy w paru php + pliki bazy danych.

Jeżeli generowane cały czas to zajmowane miejsce na serwerze to kilka kilobajtów + grafika + baza danych. Minus - obciążamy serwer.

Jeżeli generujemy tylko raz i po każdej zmianie to kilka/set/tysięcy plików + grafika + baza danych. Minus... dla darmowych serwerów to napewno duży minus - trzymanie dużej ilości plików... Plusy? Mniejsze obciążenie serwera.

Poprawcie mnie jeśli się mylę.

Mi pierwsze rozwiązanie wydaje się rozsądniejsze. Ale jak to ma się do rzeczywistości to nie wiem. I proszę o odpowiedź.

Jeśli to możliwe to napiszcie też za i przeciw.

P.S.
Obciążenie dla serwera nie jest w sumie takie duże... Pobranie niewielkiej w sumie ilości danych i proste ich przetworzenie...
spenalzo
[quote]Bo zasadnicza różnica (o ile rozumiem temat smile.gif ) to to czy trzymać dane w kilku/set/tysiącach plików html + baza, czy w paru php + pliki bazy danych.[/quote]
Jeżeli HTML to nie bez bazy. Chodzi mi o takie rozwiązanie, gdy strona jest odwiedzana n razy dziennie i za każdym razem są pobierane dane z bazy itd. Wtedy lepiej chyba wygenerować HTML i korzystać z niego?
Wtedy jest pobierany sam HTML, bez konieczności wykonywania skryptów i łączenia się z bazą. Chodzi tu serwis z oglądalnością rzędu dziesiątek tysięcy dziennie.
Może wypowie się ktoś, kto wie coś o tym?[/quote]
mateuszkrzeszowiec
Cytat
Jeżeli HTML to nie bez bazy.

Przecież to napisałem. Przeca baza danych nie jest zbieraniną literałów zawieszonych w eterze, jeno bardzo prozaicznymi plikami binarnymi, nie?

Fajnie by było gdybyś napisał czy tak ci się wydaje czy tak jest.

Bo np: onet.pl i gazeta.pl np: wiadomości wyświetlają jako "zwykłe" html, natomiast wp.pl też zwykły html jeno że w url'u przekazują zmienne (ciekawe po co smile.gif )

Pozatem każdy gupi wie że html też może zawierać jakikolwiek język skryptowy wykonywany po stronie serwera (jedna linijka w httpd.conf w apache'u) więc nie da się ocenić jednoznacznie.

Pozatem to jak to jest -> portale które wyświetlają datę (gazeta.pl i inne) równo o 00:00 zmieniają WSZYSTKIE strony? Przeca serwer by nie odpowiadał przez chwilę! Chyba że to nieistotne.

P.S.
Pozatem, bazy danych przechowują wyniki zapytań w pamięci operacyjnej, więc dostęp do danych które często są pobierane jest błyskawiczny (szybszy niż pobieranie danych z dysku?)
Tak samo serwery http nie są aż takie gupie żeby nie trzymać w pamięci tego co się nie zmienia i jest często pobierane...

Nie jest wcale powiedziane że przy 1000 odwołań do strony skrypt którego wynik się nie zmienia był wywoływany 1000 razy. Programiści nie na darmo zarabiają tyle ile zarabiają smile.gif.
DeyV
Cytat
stony indeksowane
heh he he - to się wam udało.

1. Jeżeli dobrze zaplanujemy konstrukcję strony, to nie ma większego znaczenia, czy będzie "obsługiwana" przez jeden plik, includujący inne, czy też osobne działy będą osobno. Najlepiej wybrać wariant pośredni, czyli starać się uniknąć zarówno nadmiernego przeładowania poszczególnych plików (grozi bałaganem, a więc problemami z edycją) jak i zbytniego rozdrobnienia (kiedy to, by wykonać jedną poprawkę, musimy zmienić wiele plików). W efekcie powstaje wiele modułów wielokrotnie uzywanego kodu, incluowanych przez poszczególne działy. Ma to jednak znaczenie tylko dla łatwości pisania i dokonywania modyfikacji - nie wpływa jednak znacząco na czas wykonywania skryptu.
2. Mało który serwi musi się przejmować zbytnim obciążeniem bazy danych przy normalnej pracy, czyli zazwyczaj konieczne jest cachowanie tylko wyjątkowo skomplikowanych zapytań lub np. generowanych grafik.
3. Jeśli jednak pojawia się taka konieczność, wtedy swoją moc pokazuje Smarty, dzięki któremu możemy samodzielnie zadecydować, które elementy będą cachowane (i nie ograniczamy się tylko do cachowania zapytań - zapisywany jest przecież gotowy HTML), oraz jak często chcemy je odświerzać.

A zresztą potestujcie sami - dobrym nawykiem jest umieszczenie w każdym projekcie zegara, kontrolującego czy czasem z czymś nie przesadziliśmy.
mateuszkrzeszowiec
Dzienki.
5z474n
moglby ktos mi podac kod do tekiego zegara ... pzryznam ze trche ne ichce mi sie szukac potrzebnych funkcji .. a chetnie bym potestowal swoje strony :] z gory dzieki
Ile powinien wskazywac taki zegra tak zebybylo dobrze ? smile.gif

Nikt nei odpowiedzial na pytanei czy dla wyszukiwarek strony indeksowane roznia sie czyms od zwyklych ?
DeyV
  1. <?php
  2. function getmicrotime(){ 
  3. list($usec, $sec) = explode(&#092;" \",microtime()); 
  4. return ((float)$usec + (float)$sec); 
  5. } 
  6.  
  7. $time_start = getmicrotime();
  8.  
  9. for ($i=0; $i < 1000; $i++){
  10. echo &#092;"NASTPNYM RAZEM BD SZUKAŁ W MANUALU <br> n\" ;
  11. }
  12.  
  13. $time_end = getmicrotime();
  14. $time = $time_end - $time_start;
  15.  
  16. echo &#092;"Nie robił nic przez $time sekund\";
  17. ?>


2. Nie - wyszukiwarki idą nie po plikach, a poprzez linki, a te definiujesz samodzielnie.
mateuszkrzeszowiec
Ale plama z tymi stronami indeksowanymi.
Może jakiś litościwy moderator zmieni nazwę wątku?

smile.gif
wojtek
Wiekszosc wyszukiwarek nie zindeksuje Ci stron typu index.php?co=costam. Z tego punktu widzenia duzo lepiej korzystac ze stron wygenerowanych, niz generowanych dynamicznie..

BTW. Zobacz tu: http://www.cneb.pl/wyszukiwarki/
5z474n
masz haslo do dorum na cneb.pl ? 8O bo w kursie to tego nei ma :| ... jestem po tym kursie wiec wiem :| ze on za duzo pod tym wzgledem m inei powiedzial dlatego zalozylem ten temat

wiekszosc czyli jakie questionmark.gif
spenalzo
Cytat
Cytat
Jeżeli HTML to nie bez bazy.

Przecież to napisałem [...]

Sorry, pomyliłem się - miało być że bez bazy - czysty HTML, bez jakichkolwiek dodatków typu php itd..
mateuszkrzeszowiec
No dobra, czyli zakładając że robię cms'a (sekret) i przechowuję sobie w bazie danych "położenie" każdej strony dzięki czemu wiem kiedy ją wyświetlić wiem czyim jest dziekiem i rodzicem etc.
1. No to oprócz tego wygeneruję sobie ziliard plików html o unikatowych nazwach, z zawartością z bazy (czyli np:tekstem).
I będzie okaj, tak? Znaczy się google łyknie?
2. Wygeneruję sobie ziliard plików php (dla każdej strony) no i każda strona będzie wyświetlać to co jej kazałem itd. , nazwy plików php unikatowe itd. No i google też przez to przejdzie, tak?
3. Zostawiam wszystko w "jednym" pliku, i sikam na wyszukiwarki. A może można zostawić jakieś małe info dla robotów coby nie zgłupiały? Albo pomóc im w podjęciu właściwej decyzji.
4. Czy jest jakaś inna opcja?
P.S.
Ta ewentualność odpada: AddType application/x-httpd-php .html
P.P.S.
MODERATORZY KOCHANI ZMIEŃCIE TYTUŁ WĄTKU smile.gif
scanner
Lekko zbaczając z tematu, zastanawiam się po co indeksować zawartość dynamiczną?
mateusz: proszę, nie uzywaj tylu "enterów" - rozwlekasz swoje posty i troszkę niewygodnie się je czyta smile.gif
mateuszkrzeszowiec
A po to że zawartość, chociaż dynamiczna, nie musi znikać się co trzy minuty, jeno fajnie by było znaleźć w googlach że w serwisie takim i takim jest strona zawierająca frazę "gupik" a link do niej to www.rybki.pl?rybka=gupik No i np dział serwisu rybki.pl o gupikach nie "zniknie" jeno będzie ewoluował, dodawane będą nowe strony itd. A tak trzymać wszystko w słowach kluczowych... i aktualizować za każdym razem jak pojawi się nowa rybka?

Eh, bez sensu z tymi słowami kluczowymi ale com napisał, napisałem.
No po prostu fajnie by było żeby serwis był w ogóle widziany przez np googla a nie jest...

P.S.
<meta name="robots" cotnent="index, follow"> w czymś pomaga?
5z474n
google.pl nei bierze pod uwage slow kluczowych :] tworzac baze z ktorej pozniej wyszukuje :]
mateuszkrzeszowiec
smile.gif normalnie! nie chodzi mi o takie szczegóły tylko o to jak rozwiązać problem!
wojtek
Z tego co wiem (chociaz nie jestem do konca pewien) to google stara sie indeksowac strony z '?' w adresie, tzn. probuja tam to jakos rozwiazac zeby takie strony byly prawidlowo indeksowane.

Najlepiej - jesli chce sie zaistniec w wyszukiwatkach - zrobic adres typu adres.pl/plik.php/zmienna1/zmienna2 - takie cos zostanie zaindeksowane. Oczywiscie mozna generowac pliki html, ale to chyba troche wiecej pracy jest niz na przejscie na ten 1 sposob.
5z474n
Cytat
Najlepiej - jesli chce sie zaistniec w wyszukiwatkach - zrobic adres typu adres.pl/plik.php/zmienna1/zmienna2


to jest chyba sprawdzony sposob bo wiele nowych stron w ten sposob jest tworzonych smile.gif np www.texty.org
mateuszkrzeszowiec
Cytat
Najlepiej - jesli chce sie zaistniec w wyszukiwatkach - zrobic adres typu adres.pl/plik.php/zmienna1/zmienna2

Trochę nie rozumiem, możesz jaśniej? smile.gif

tzn index.php?zmienna=/lalala
spenalzo
Cytat
Trochę nie rozumiem, możesz jaśniej? smile.gif
tzn index.php?zmienna=/lalala

Nie- www.serwer.pl/index.php/zmienna1/zmienna2/zmienna3/ - proste.
mateuszkrzeszowiec
A nie mogłeś napisać że chodzi o ForceType? smile.gif

Ale free.komrel.net nie pozwala wrzucić .htaccess sad.gif kapa

No to jedyne wyjście to generowanie html'i. Chcę żeby to było (CMS) uniwersalne, no a skoro się nie da tego zrobić...
spenalzo
Do tego nie trzeba htaccessa.
Wystarczy taki kod:
[php:1:09619dda42]<?php
/*
Zakladamy, ze w adresie sa przekazywane 3 zmienne, czyli adres wygląda tak: strona.pl/index.php/zmienna1/zmienna2/zmienna3/
W przpadku mniejszej/wiekszej ilosci nalezy zmodyfikować kod.
*/
$tmp=explode("/",$PHP_SELF);
$zmienna3=$tmp[count($tmp)-2];
$zmienna2=$tmp[count($tmp)-3];
$zmienna1=$tmp[count($tmp)-4];
?>[/php:1:09619dda42]
To jest pisane z pamięci, ale taki sam lub bardzo podobny kod używałem z powodzeniem na swojej stronie.
5z474n
pod windowsem $PHP_SELF chyba a jedynei nazw pliku sad.gif a nei cala sciezke ?

Tak wogole to czy nei wyskoczy blad ze strona
strona.pl/index.php/zmienna1/zmienna2/zmienna3/
nie istneije ?

Jak to wogole zrobic ? :mrgreen: ( nei mowie o wyciagniecie zmiennych z adresu )
wojtek
To zalezy od konfiguracji serwera, nie wiem co dokladniej trzeba ustawic, ale jesli na twoim serwerze wyskakuje blad - chyba nie bedzie tego mozna latwo ominac..
mateuszkrzeszowiec
Nie ma co się rozwodzić, wszystko już dawno zostało napisane: smile.gif
http://www.devarticles.com/art/1/143/1
mateuszkrzeszowiec
Cytat
Do tego nie trzeba htaccessa.

Sorry mon, ale bez tego się nie obejdzie. No chyba że jakiś darmowy serwis hostingowy umożliwia httpd.conf smile.gif
5z474n
a funkcja hm.... podobno istnieje funkcja phpiniset() czy jakos tak ktora umozliwia chwilowa zmiane php.ini :| w ten sposob nei daloby sie tego ominac ? :|

co to wogole jest htaccessa questionmark.gif :mrgreen:
spenalzo
Cytat
Sorry mon, ale bez tego się nie obejdzie. No chyba że jakiś darmowy serwis hostingowy umożliwia httpd.conf smile.gif

Nie chodziło mi o coś takiego:
strona.pl/art/zmienna1/zmienna2/
tylko o coś takiego:
strona.php/art.php/zmienna1/zmienna2/
Do tego nie trzeba htaccessa.
mateuszkrzeszowiec
No to jak to odpalić? Który serwer to obsługuje? Bo bardzo jestem ciekaw smile.gif

Daj mi link do jakiegokolwiek serwisu please (nieważne komercyjny czy darmowy) albo link do dokumentacji na ten temat (Apache).
spenalzo
Cytat
No to jak to odpalić? Który serwer to obsługuje? Bo bardzo jestem ciekaw smile.gif

Nie wiem jak inne serwery, ale mój obsługuje to dobrze, polecam gorąco:
http://127.0.0.1/
Naprawdę dobry, szybkie transfery, dużo miejsca na dysku, łatwo dostępny admin itd. Mam nadzieję, że nie potraktujecie tego jak reklamę :-D
mateuszkrzeszowiec
Praise The Moderator !!!

Eh, fajnie że u Ciebie działa, ale równie fajnie by było gdyby działało gdzie indziej też, i to to właśnie mi chodzi!

Wyślij mi httpd.conf i php.ini, okaj? A pozatem jkbyś mógł podać wersję apacha to też byłbym dźwięczny smile.gif

P.S.
Jakbyś mógł to też plik php z działającym takim czymś + linkami do kliknięcia, pokazującymi że to działa (nie chodzi mi o odczytywanie zmiennych z url'a, to potrafię).
mateuszkrzeszowiec
Generalnie zastój w temacie, ale ja cóś znalazłem
http://www.digital-web.com/tutorials/tutor...al_2001-4.shtml

A tam znalazłem to:
http://httpd.apache.org/docs/mod/mod_rewrite.html

Początek:
Cytat
Welcome to mod_rewrite, the Swiss Army Knife of URL manipulation!
spenalzo
Sorry nie zauważyłem:
Apache 1.3.19
Jedyny interesujacy nas fragment httpd.conf to
Kod
AddModule mod_so.c mod_mime.c mod_access.c mod_auth.c mod_negotiation.c

AddModule mod_include.c mod_autoindex.c mod_dir.c mod_cgi.c mod_userdir.c

AddModule mod_alias.c mod_env.c mod_log_config.c mod_asis.c mod_imap.c

AddModule mod_actions.c mod_setenvif.c mod_isapi.c


A że takie coś działa nie tylko na localhoscie, to możesz zobaczyć na mojej stronie www.webmaster.nano.pl patrząc na link bannera i klikając w niego.
scanner
Spenalzo: że działa, to wiemy. Kwestia w tym, jak działa i co zrobić, aby działało smile.gif
kurtz
Cytat
Spenalzo: że działa, to wiemy. Kwestia w tym, jak działa i co zrobić, aby działało :)
np apache+ php w trybie modul (rowniez windows)


a ja szczerze sie dziwie ze juz 4 strona a ludzie wciaz nie wierza ze sie da. nawet bez mod_rewrite'a ;))
spenalzo
Cytat
Spenalzo: że działa, to wiemy. Kwestia w tym, jak działa i co zrobić, aby działało smile.gif

No ale chciał żebym podał miejsce gdzie to działa to podałem - przecież nie chodzi o kliknięcie w banner :-P
Cytat
Eh, fajnie że u Ciebie działa, ale równie fajnie by było gdyby działało gdzie indziej też, i to to właśnie mi chodzi!
scanner
Cytat
a ja szczerze sie dziwie ze juz 4 strona a ludzie wciaz nie wierza ze sie da.
Ja wiem, że się da. Tylko po prostu byłbym wdzięczny, gdyby ktoś mi to dał po polskiemu, łopatologicznie. Co gdzie ustawić. Przejrzałem to co zapodał linkami bodajrze spenalzo, ale niewiele mi to mówi.
Akurat od tej strony (Apache) jestem lama...

A pozatym, to teraz już z php schodzimy na apacha - moze podzielić ten wątek? albo chociaż przenieść go tam?
kurtz
Cytat
Cytat
a ja szczerze sie dziwie ze juz 4 strona a ludzie wciaz nie wierza ze sie da.
Ja wiem, że się da. Tylko po prostu byłbym wdzięczny, gdyby ktoś mi to dał po polskiemu, łopatologicznie. Co gdzie ustawić. Przejrzałem to co zapodał linkami bodajrze spenalzo, ale niewiele mi to mówi.
Akurat od tej strony (Apache) jestem lama...

A pozatym, to teraz już z php schodzimy na apacha - moze podzielić ten wątek? albo chociaż przenieść go tam?

ok to lecimy dokladnie.

1. temat dotyczy php
2. aby tworzyc linki postaci http://server/plik.php/parametr nie jest potrzebne i wymagane czasowe modyfikownanie konfiguracji apache'a
3. nie trzeba rowniez korzystac z modulu mod_rewrite

4. aby korzystac z w/w adresow wystarczy postawic apache'a oraz php w trybie module (a nie cgi).
5. takie ustawienie dziala rowniez na windows - wczoraj korzystalem wlasnie z tego ficzera pod win98.

6. chcesz drogi uzytowniku sprawdzic czy u ciebie to dziala? sprawdz czy twoj apache dziala, czy korzysta z modulu. jesli tak stowrz plik test.php i umiesc w swoim document_root'cie (najczesciej katalog htdocs). i teraz odpalamy - http://localhost/test.php/ala/ma/kota. jak rusza to koniec problemu ;) jak nie to ciagniemy watek.
kurtz
Cytat
Przejrzałem to co zapodał linkami bodajrze spenalzo, ale niewiele mi to mówi.

uzupelnienie:
- to o czym mowie jest wg mnie protsze niz to opiasne w linkach ktore w tym watku podawano - tzn nie korzysta z forcetypa i mod_rewrite chcoiaz obie metody sa jak najbardziej przydatne. czasami :)
scanner
No teraz, to już wszystko jasne.
A wszystko dlatego, że zacząłem się gubić w tym wątku.
Kurtz: działa dobrze.
spenalzo
ForceType powoduje to, że adres pliku wygląda w ten sposób:
serwer.pl/artykuly/11/2/
a standardowo w php można korzystać tak:
serwer.pl/artykuly.php/11/2/
kurtz
Cytat
ForceType powoduje to, że adres pliku wygląda w ten sposób:
serwer.pl/artykuly/11/2/
a standardowo w php można korzystać tak:
serwer.pl/artykuly.php/11/2/
tak - ale trzeba modyfikowac ustawienia apache'a - malo ktory provider zezwoli na to.
korzystanie z furtki jaka jest /param/param2 (co bodjaze stalo sie ubocznoscia w CGI/1.1) jest wg mnie protsze.

uf koniec ;)

pozdrawiam
spenalzo
[quote]tak - ale trzeba modyfikowac ustawienia apache'a - malo ktory provider zezwoli na to.
korzystanie z furtki jaka jest /param/param2 (co bodjaze stalo sie ubocznoscia w CGI/1.1) jest wg mnie protsze.[/quote]
Niekoniecznie, wystarczy .htaccess, a to można spotkać u wielu providerów.
[quote]By either editing Apache's httpd.conf file or by creating a .htaccess file, we can modify the way Apache works to a certain extent. [/quote][/quote]
emen
Podsumuję i podpowiem, bo chaos macie tu straszny:

- zwykła konfiguracja apache i php jako moduł (a nie jako CGI)
- zbadać $_SERVER["REQUEST_URI"] i odpowiednio sparsować i koniec (jakbyście czasem oglądali zawartość strony z phpinfo() to byście sami na to wpadli tongue.gif )

Żadnego kombinowania z .htaccess czy mod_rewrite.
kurtz
Cytat
- zbadać $_SERVER["REQUEST_URI"] i odpowiednio sparsować i koniec (jakbyście czasem oglądali zawartość strony z phpinfo() to byście sami na to wpadli :P )
ekhem?
[php:1:dbcd4d8884]getenv("PATH_INFO");[/php:1:dbcd4d8884]
i kto tu czyta phpinfo() ?...

;)

pozdrawiam
TiT
Strasznie zaciekawił mnie temat i mam problem.

U mojego providera bez problemu działa metoda(www.test.com/index.php/param/param2). No ale chciał bym mieć jeszcze na swoim kompie taką możliwość. Mam winde i FoxServ'a.
No i oczywiście nie działają mi te parametry.

Czy jest mozliwość przekonfigurowania fox'a tak aby działały parametry?

Cygwin i kompilacja php narazie odpadają :-)

Z góry dzięki za odpowiedź.
Pozdrawiam.
kurtz
Cytat
No ale chciał bym mieć jeszcze na swoim kompie taką możliwość. Mam winde i FoxServ'a.
No i oczywiście nie działają mi te parametry.

misiek - no bez jaj - przewin do gory strone

albo po prostu skocz do http://forum.php.pl/viewtopic.php?p=16886#16886

Cytat
Czy jest mozliwość przekonfigurowania fox'a tak aby działały parametry?
raczej jest. sprawdz w jakim trybie dziala i najwyzej zmien na moduł.

pozdrawiam
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.