Ozzy
12.01.2005, 22:20:22
Można, ale zapraszam na PM/JB/GG
a79rtur
16.04.2005, 16:13:42
czy ktos znalazl sposob na ominiecie problemu z przeladowywaniem sie strony, opisanego tutaj:
http://forum.php.pl/index.php?showtopic=14...20entry113831mam na stronie ,pomieszany kod php i html i przeladowuje sie ona kilka razy jesli uzyje adresu postaci np. index.php/zm1/zm2, z tego co widze jest to powodowane ladowniem sie styli, swf'ów itp.
bigZbig
19.04.2005, 10:11:40
scanner dobry artykul ale brakuje w nim przynajmniej jednej istotnej informacji tj. koniecznosci stosowania bezwzglednych urli i zwiazanych z tym problemow. Jest to problem, ktory napewno wyskoczy i to juz na smamym poczatku zabawy z niceUrl.
Mod_rewrite mozesz moim zdaniem sobie w tym arcie podarowac traktujac to zagadnienie jako temat kolejnego arta z cyklu. Tak na marginesie rozwiazanie kozystajace z mod_rewrite przynajmniej na pierwszy rzut oka bo nie zglebialem go wydaje mi sie nie tylko trudniejsze ale w zasadzie nie wnosi tez zadnej nowej funkcjonalnosci. Moge sie mylic, ale w takim wypadku prosze jakas madra glowe o sprostowanie.
Co do przewijajacego sie w tym temacie problemu przekazywania identyfikatora sesji, ktory pojawia sie tylko w przypadku, kiedy nie ma innej mozliwosci jego przekazania np. poprzez ciasteczko, moznaby sie pokusic o napisanie odpwiedniej funkcji dodajacej go na koncu adresu. W przypadku przyjaznych urli jest tylko ten problem, ze istotna jest nie tylko kolejnosc, ale tez ilosc zmiennych (a wlasciwie ich wartosic) dlatego w przypadku takiej funkcji - nazwijmy ja appendSID - konieczne byloby takze zaimplementowanie mechanizmu, ktory potrafilby rozpoznac czy w $_SERVER['PATH_INFO'] zawarty jest SID czy tez nie i w takim przypadku odpowiednio przypisac wartosci do zmiennych.
Ostatecznie moznaby sie pokusic o zawarcie w przyjaznym url takze informacji o nazwach zmiennych ale wtedy nasze urle nie bylyby juz takie przyjemne dla oka.
Konczac ten przydlugawy wywod chcialbym jeszcze zauwazyc, ze chociaz dzisiaj - a przynajmniej jeszcze wczoraj ;-) - pajaczki indeksowaly przyjazne urle, to jutro moga przestac to robic. W koncu jest to naruszenie pewnych zasad, podstawa ktorych bylo zalozenie aby nie katalogowac tresci dynamicznej, ktora ulega ciaglym zmianom. Dzisiaj ten artykul generuje sie na pierwszej stronie, a jutro pojawi sie na piatej bo na pierwszej bedzie juz nowszy. Tutaj zglaszam sie z apelem do wszystkich stosujacych niceURL. Robcie to z glowa bo po to tworcy wyszukiwarek nakladaja pewne ograniczenia co do indeksowania stron abysmy mieli do dyspozycji jedynie aktualne i w miare rzetelne informacje.
nospor
19.04.2005, 10:33:46
NO wlaśnie. Po co stosować te przyjazne url. Url jest dla skrytpu nie dla użytkownika. Użytkownik klika w link i ma dostać to co chce. Jemu wsio ryba jaki to będzie url, czy będzie coś z niego kumał czy nie. To skrypt ma wiedzieć jakie dane ma wyciągnąć i co znich zrobić.
bendi
19.04.2005, 11:04:17
Cytat(Seth @ 2005-01-12 18:35:14)
Czyli jednym slowem lepiej nie korzystac z wbudowanych mechanizmow sesji w php przy rewrite'cie

Jako ze odpowiedzi na pytanie Seth'a nie widze, a nurtowalo mnie ono jakis czas temu to napisze moja regulke, ktora sie sprawdza:
Kod
RewriteRule ^([a-z]{2}/)?([a-zA-Z0-9_]+)?/?$ index.php?lang=$1&a=$2&%{QUERY_STRING}&http_auth=%{HTTP:Authorization} [L]
Jak widac dodaje sobie wszytkie zmienne get'owe, ktore zostaly przeslane w tradycjny sposob, oraz naglowek Authorization, ktory jezeli php dziala w trybie safe_mode nie zostaje zwrocony przez funkcje
getAllHeaders" title="Zobacz w manualu PHP" target="_manual
xarr
21.04.2005, 08:02:46
nospor: niekoniecznie. Szczególnie przy rozbudowanych serwisach prosty adres url w stylu ścieżki dostępu do pliku to często wygoda. Gdzie, co można znaleźć, komuś to polecić, czy nawet przyjść do roboty i z głowy wklepać url. Oczywiście jak zwykle to kwestia podejścia i nie każdy to uważa za konieczne mimo bezspornej zalety podczas pozycjonowania www.
nospor
21.04.2005, 08:05:31
dzięki xarr

Twoje wyjaśnienie faktycznie wyjaśniało by takie zastosowanie urli.
xarr
21.04.2005, 13:11:09
Nospor: Hehe i tak wiem, ze nie powiedzialem nic nowego, ale dzieki za... "dobra mine do zlej gry"

Pozdrowka
camelx
12.06.2005, 13:10:00
Mam małą prośbę. Czy mógł by ktoś napisać jakiś malutki przykład wykożystania 'przyjaznych url-i' w praktyce. Chodzi mi o jakiś prosty przykład gdzie były by ze dwa linki wykorzystujące ten sposób...
Będę bardzo wdzięczy za pomoc

Pozdrawiam
bela
12.06.2005, 13:13:44
camelx
12.06.2005, 13:22:32
yyy, tzn. chodziło mi raczej o jakiś kod php... Jak wykorzystać to w praktyce:
<?php
$strDefaultPath = '/newsy/pokaz/strona/1';
$_SERVER['PATH_INFO'] = isset( $_SERVER['PATH_INFO'] ) ?
$_SERVER['PATH_INFO'] : $strDefaultPath; ?>

?
NuLL
12.06.2005, 13:36:54
Normalnie

Masz poprostu ładniejszy adres - musisz się pobawić w rozpoznawanie zmiennych i tyle
camelx
12.06.2005, 14:34:08
No dobra, ale co zrobić jeśli jestem na 'strona1.php' i chcę przejść na 'strona2.php' a dokładniej 'strona2.php?go=test'

strona2.php wygląda np. tak
<?php
switch(_$GET['go'])
{
case 'test':
break;
}
?>
Co muszę zrobić, żeby mój adres wyglądał mniej więcej tak: strona2/go/test
NuLL
12.06.2005, 15:02:56
mod_rewrite jest potrzebyn.
Jak chcesz dysktuować o swoim problemie załóż nowy temat bo rozmawiamy nt. artykułu
yavaho
11.07.2005, 15:33:46
Mam jedno pytanie dotyczace pliku .htaccess
jak ma wygladac zawartosc takiego pliku jezeli kazdy adres chce przekierowac do pliku index.php
czyli wpisuje przerozne adresy np:
www.mojadomena.pl/katalog1/katalog2/katalog3
www.mojadomena.pl/plik.php
www.mojadomena.pl/plik.php?id=1
a ma sie otworzyc tylko:
www.mojadomena.pl/index.php
sobstel
17.07.2005, 10:02:51
Kod
RewriteRule ^(.*)$ index.php
W momencie gdy zastosuje przyjazne url-e wyrzuca mi calkowicie style i grafike, dodam ze uzywam Smarty. Nie mam pojecia gdzie tkwi przyczyna tego problemu??
bela
18.07.2005, 13:29:39
Używaj bezwzględnych URL-i.
Daj tag <base href="http://foo.pl/" /> w <head>.
przerobilem adres styli w szablonie (na ../style/style.css) i tez dziala ale sprobuje z adresami bezwzglednymi

dzieki
janek
1.08.2005, 12:10:27
chciałbym wykorzystać niceURL, ale muszę wysłać dane z wyszukiwarki (formularza) przez GET. Da się zrobić tak, żeby wszedzie tam gdzie są wyniki wyszukiwania stosować "normalne" adresy (z "?"), a na pozostałych stronach niceURL?
tiraeth
2.08.2005, 11:42:50
Formularze są do wysyłania danych POST'em

Po co wysyłać GET'em? Mało bezpieczne i bardzo żadko stosowane...
janek
2.08.2005, 12:09:50
GET ponieważ:
1. przy wyszukiwarce nie potrzebne mi aż tak bardzo bezpieczeństwo jakie daje POST
2. ktoś może zapisać sobie wyniki wyszukiwania do ulubionych (bo ma zmienne w URL-u)
3. po otrzymaniu wyników wyszukiwania można przejść do szczegółów danego wpisu, potem ludzie robią często wstecz w wyszukiwarce. Nie chcę żeby dostawali informację o wygaśnięciu strony lub o tym, ze dane post zostana przesłane ponownie (chyba FF tak robi).
... ale zostawmy przewagę POST nad GET lub GET nad POST, co myślicie o wymieszaniu url-i z "?" i niceURL w jednej aplikacji? Bo to było moje pytanie ...
karolski
23.08.2005, 00:27:57
artykuł jest bardzo fajny ale przydal by sie maly opis jak to uruchomic w praktyce bo pytania sie powtarzaja np. o <base>
scanner
23.08.2005, 07:12:24
W najbliższym czasie artykuł zostanie poprawiony i zaktualizowany. Cierpliwości
nightspirit
30.08.2005, 01:34:48
/index
<?
$strDefaultPath = '/index';
$_SERVER['PATH_INFO'] = isset($_SERVER['PATH_INFO']) ?
$_SERVER['PATH_INFO'] : $strDefaultPath; /************************/
if ( $arrParams[0] == 'news' )
{
if ( $arrParams[1] == 'view' )
{
if ( isset( $arrParams[2
] ) ) {
echo 'id = '.$arrParams[2
]; }
}
}
?>
a
.htaccess to wiecie jak wygląda
A link będzie wyglądać www.foo.com/index/news/view/1
pozdrawiam, ns
djcinek
17.01.2006, 11:04:25
Scanner, jam ci niegodzien nog calowac. Zastanawialem sie ostatnio jak to zrobic i dzieki Twojemu artykulowi mi sie "otworzylo". DziekI!
vieri_pl
17.01.2006, 16:34:29
A ja mam problem z tym kodem z artykułu...
Mam w pliku news.php linijke:
<?php
if ($_GET['dzial'] == 'wiadomosci'){
?>
JEśli dział to wiadomosci to pokazują się newsy... Link poprzednio wyglądał tak index.php?dzial=wiadomosci, no i chcę aby wyglądał ładniej, np index,dzial,wiadomosci... Jak przerobić kod scannera i tą linijkę sprawdzająca dział

Nie jestem specjalistą w php, i mam z tym problem... Prosze pomóżcie !
adam187
26.01.2006, 12:58:53
Jak dokładnie powinien wyglądać .htaccess
mam tak:
Kod
<Files linki>
ForceType application/x-httpd-php
</Files>
Mam w katalogu plik linki.php i wywala mi 404
Na początku miałem bląd 500 ale admin dal mi prawa
i teraz powinno działać ale zonk. Może coś jeszcze w
ustawieniach serwa ?
Sabistik
26.01.2006, 18:08:54
Cytat
Mam w katalogu plik linki.php i wywala mi 404
nie weim co ty tam masz ale to ma byc plik 'linki' bez rozszerzenia. po to wlasnie dokonujesz wpisu w htaccess
adam187
26.01.2006, 18:47:58
Cytat(Sabistik @ 2006-01-26 17:08:54)
Cytat
Mam w katalogu plik linki.php i wywala mi 404
nie weim co ty tam masz ale to ma byc plik 'linki' bez rozszerzenia. po to wlasnie dokonujesz wpisu w htaccess
o to chodziło

wielkie dzięki i pozdrawiam
jumanji
27.01.2006, 08:45:24
jestem nowy wiec nie bijcie

klikam na link podany w pierwszym poscie i nie dziala

tytul brzmi zachecajaco wiec bylbym dzwieczny za dzialajacy link
pozdr
ActivePlayer
27.01.2006, 08:54:22
wortal zmienił postać, zmieniły się też linki.
tutaj nowy, prosze kogoś z uprawnieniami o zaedytowanie 1 postu i poprawienie tez tam.
http://phppl.ezpublish.no/phppl/wortal/art.../przyjazne_urle---
Zrobione.
~mike_mech
Spirit86
14.02.2006, 21:23:48
no i nikt nie rozwiązał problemu lokalizacji bezwględnej.
Dodawanie do każdego obrazka
http://Adres_serwera/obrazek.jpg jest strasznie upierdliwe....
Czy jeżeli przeglądarka napotka w kodzie odnośnik http:// obrazki nie otwierają się wolniej (łaczy się z serwerem)?
sobstel
15.02.2006, 00:17:45
Cytat(Spirit86 @ 2006-02-14 21:23:48)
no i nikt nie rozwiązał problemu lokalizacji bezwględnej.
Dodawanie do każdego obrazka
http://Adres_serwera/obrazek.jpg jest strasznie upierdliwe....
a BASE HREF w sekcji HEAD dokumentu? hawk podał już to rozwiązanie na początku wątku...
Cytat
Czy jeżeli przeglądarka napotka w kodzie odnośnik http:// obrazki nie otwierają się wolniej (łaczy się z serwerem)?

moze sie myle, ale żądanie to żądanie, czy wpiszesz http czy nie tak i tak musi ci się połączyć z tym samym serwerem gdzie znajduje sie obrazek i go pobrac (no chyba ze jest juz cacheowany).
GrayHat
15.02.2006, 01:07:21
@sopel: przy pobieraniu strony i wszystkich grafik uzywa sie jednego polaczenia... co do obrazkow z http:// nie jestem pewien ale moze sie zdazyc w pIEknej przegladarce ze bedzie nawiazywal polaczenie jeszcze raz myslac ze obrazek jest hotlinkowany
Spirit86
15.02.2006, 11:36:04
Cytat(sopel @ 2006-02-15 00:17:45)
a BASE HREF w sekcji HEAD dokumentu? hawk podał już to rozwiązanie na początku wątku...
Kurcze, wczoraj jak to sprawdzałem (base href) to mi nie działał), dziś działa

.
Ale nadal wydaje mi sie, że np. IE napotkając w atrybucie src http otworzy nowe połączenie...
Ale jak jest już base href, tak być nie powinno

.
Czy nie lepiej żeby ta linijka:
<?php
$_SERVER['PATH_INFO'] = isset( $_SERVER['PATH_INFO'] ) ?
$_SERVER['PATH_INFO'] : $strDefaultPath; ?>
wyglądała tak:
<?php
$_SERVER['PATH_INFO'] = $_SERVER['PATH_INFO'] != "" ? $_SERVER['PATH_INFO'] : $strDefaultPath;
?>
?
sobstel
23.02.2006, 22:06:40
Cytat(son @ 2006-02-23 21:40:08)
Czy nie lepiej żeby ta linijka:
<?php
$_SERVER['PATH_INFO'] = isset( $_SERVER['PATH_INFO'] ) ?
$_SERVER['PATH_INFO'] : $strDefaultPath; ?>
wyglądała tak:
<?php
$_SERVER['PATH_INFO'] = $_SERVER['PATH_INFO'] != "" ? $_SERVER['PATH_INFO'] : $strDefaultPath;
?>
?
bardziej tak
<?php
$_SERVER['PATH_INFO'] = !empty( $_SERVER['PATH_INFO'] ) ?
$_SERVER['PATH_INFO'] : $strDefaultPath; ?>
PATH_INFO nie zawsze jest ustawione wiec trzeba sie zabezpieczyc zeby nie wywalalo NOTICE errora
kosheen2k
20.04.2006, 12:56:10
Witajcie! Mam mianowicie takie zapytanie: tutaj widze gadu gadu na temat przyjaznych urli a ja chcialem zapytac o url'e tego typu jak na przyklad na stronie owned.pl:
http://owned.pl/?2:218::77 <-- jak zrobic tego typu linki? wiem ze bedzie cos z explode() ale naprawde nie mam zielonego pojecia jak to zaczac i jak zakonczyc.... chcialbym zrobic tak - ze pierwsze wartosc czyli po znaku "?" to dzial po ":" podstrona po "::" na przyklad jakas wartosc z bazy danych... prosze podpowiedzcie jak to napisac, szukalem wszedzie, szukalem w google, na roznych stronach o php... szukalem na google: "parsowanie url" - "url parsing" - itepe itede... prosze pomozcie bede bardzo wdzieczny za pomoc...
chcialbym wlasnie zrobic linki tego typu jak na stronie
http://owned.pl czyli
http://owned.pl/?2:218::77Dziekuje i Pozdrawiam
scanner
20.04.2006, 14:33:25
http://owned.pl/?2:218::77to inaczej może być:
http://owned.pl/index.php?varA=2&varB=218&varC=&varD=77tudziez:
http://owned.pl/index.php/2/218//77Analizując inne linki na tej stronie, wnioskuję, że ten :: to ni mniej ni więcej, tylko null

A jak to zrobić? Wystaczy zamienić separator / na : (może tez być . , | czy cokolwiek innego, czego nie będziemy traktowac jako wartości.
kosheen2k
20.04.2006, 14:45:54
wiem probowalem tak zrobic, ale kiedy wpisze index.php::10 to nie dziala bo mowi ze nie ma takiej strony, probowalem naprawde na wszelkie sposoby... prosze czy ktos moze mi powiedziec jak to zrobic? dziekuje scanner za podpowiedz

ale prosze o pomoc... moze jakas prosta funkcje - najlepiej sprawdzona

prosze
scanner
20.04.2006, 14:52:49
Ale to pokaż może kod, którym parsu[/QUOTE]jesz URL'a?
Prawdopodobnie (ale to musiałbym sprawdzić, gdyz teraz nie pamiętam) znak dwukropka nie może być traktowany jako separator aż tak bezpośrednio.
Sprawdze to wieczorem w domu i jeśli zadziała, to dam linka do jakiegoś demo

Update:
Zobacz co napisałem w artykule:
Cytat
Jako ciekawostkę podam, że ukośniki (poza pierwszym) można zamienić na inny znak, uzyskując URLe o postaciach takich jak poniżej. Pamiętać tylko należy o tym, że takie adresy ponownie mogą być żle indeksowane przez wyszukiwarki.
Prawdopodobnie też na owned.pl sytuacja wygląda tak
http://www.scanner.eu.org/dev/niceUrl/?12:23::77
kosheen2k
20.04.2006, 15:07:44
byłbym bardzo wdzieczny

tymczasem powalcze troszeczke z tym co napisales

(jesli moge per Ty

) pozdrawiam i dziekuje za chec pomocy
P.S. Kod parsujacy jest dokladnie ten sam ktory byl podany w linku na samym poczatku tematu.
probowalem zrobic to w ten sposob bez zadnego parsowania tylko zwykly $QUERY_STRING:
Kod
if ($QUERY_STRING == ':1') { echo 'blablabla'; }
i dziala
ale co mi z tego, musza byc z gory ustalone, a jesli ja chce do tego zrobic jeszcze zmienna :1111:11 to wtedy juz chyba musze uzyc parsowania prawda?
poradzilem sobie

:
http://www.kosheen2k.be/dev.php?:1:ktostam,1212:asdw ten sposob, robi mi sie array w ktorym pomijam tylko [0] i juz mam to co chcialem

chociaz moze Scanner masz lepsze rozwiazanie?
wlasnie BTW: jak zrobic ze jesli user nic nie wpisze po ? czyli np: ?:1:11 to zeby samo sie wpisalo

?
dokladniej chodzi mi o to... jesli tablica $var_array posiada tylko element [0] to ma sie zaladowac strona 0 ?
scanner
20.04.2006, 18:30:35
Przeczytaj jeszcze raz dokładnie mój poprzedni post, zajrzyj równiez pod podany na końcu adres
kosheen2k
20.04.2006, 18:45:30
Przeczytałem
dokładnie,
zajrzałem i wiem juz
wszystko!
Dziękuję za wszelką pomoc! 
Pozdrawiam
occulkot
23.04.2006, 09:59:53
hehehe - na owned mam proste mapowanie
10 zmiennych ktore sa podawane w adresie - jako domyslny separator uzywany jest ":" natomiast separator tablic ";"
Kazdy podskrypt odwoluje sie do zmiennych adresowych - $z[typ], $z[id1], $z[id2]
mamy tam po kolei -
typ
3 zmienne typu id
5 zmiennych typu op/sort
1 zmienna typu podstrona

ot i cala tajemnica wiary

Ale powoli przymiezam sie do przejscia na mod_rewrite - rowniez z mapowaniem adresu
Pozdrawiam!
kosheen2k
29.04.2006, 00:12:12
cześć occulkotku

powiem ze owned.pl to kupa dobrej roboty

pozdrawiam
P.S. wiem rozgryzłem już to
tomaroc
11.05.2006, 11:10:10
W kwestii linkowania (grafiki, styli.css, podstron itp...) relatywnego - nie trzeba ustawiać <BASE> w naglowku ani tymbardziej linkowac pełnym adresem (z http://) wystarczy kazdy link zacząc od / (slash) czyli np:
<img src="/karalog/obrazek.gif">
itp...
Sam dlugo na to nie wpadłem - dopiero ktoś mi podpowiedział wiec podaje dalej jak by jeszcze ktoś mial z tym problem....
Mam natomiast pytanie JAK ustawic na serv zeby jako glowna strona odpalała sie
index (bez rozszerzenia) bo tymczasowym rozwiazaniem mam ustawione w pliku .htaccess strone błedu index i gdy nie znajduje index.php przenosi na index - ale nie jest to chyba prawidlowe rozwiazanie

?
z gory dzieki za jakies sugestie!
pozdro
tom
Myślę że może kogoś zainteresuje pojawienie się artykułu o tym samym temacie na phpfreaks.com:
http://www.phpfreaks.com/tutorials/149/0.php
Wujashek
22.02.2007, 12:49:00
Kiedyś się przymierzałem do przyjaznych urli ale z czystego lenistwa nie chciało mi się tego zrobić.
Po przeczytaniu tego artykułu wreszcie coś z tym zrobiłem i szczerze mówiąc przy podejsciu obiektowym całkiem ciekawie to działa i jest przyjemne w użytkowaniu
przyolkuskiej.pl/serwis/Gminny_informator/Wybory
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.