DevProTalk

Forumi IT profesionalaca
web development, web design, e-business, SEO


Idite nazad   DevProTalk > Web development i web aplikacije > PHP
Želite da se reklamirate ekskluzivno na ovoj poziciji? Javite se

PHP PHP aplikacije, Smarty, PEAR

Odgovori
 
Alati teme Način prikaza
Staro 26. 09. 2009.   #1
Miroslav
član
Certified
 
Datum učlanjenja: 26.12.2006
Poruke: 70
Hvala: 12
1 "Hvala" u 1 poruci
Miroslav is on a distinguished road
Default PHP, Apache - problem u konfiguraciji

Instalirao sam WAMP (http://www.wampserver.com/en/)

Ovo neće da mi radi:
Kôd:
http://localhost/kontakt/
A ovo hoće:
Kôd:
http://localhost/kontakt.php
Dakle, problem je u *.php ekstenziji. Pročitao sam (http://articles.sitepoint.com/articl...riendly-urls/3) da treba u .htaccess da se doda
Kôd:
<Files kontakt>    
 ForceType application/x-httpd-php    
</Files>
Međutim, to mi ne pomaže.

------------------------------------------

Još nešto.

Ovo neće da radi:
PHP kôd:
<?= $var ?>
Ovo hoće:
PHP kôd:
<?php echo $var;?>
Zna li neko rešenja?

Unapred hvala.
Miroslav je offline   Odgovorite uz citat
Staro 26. 09. 2009.   #2
mangia
Pukovnik u penziji
Grand Master
 
Datum učlanjenja: 11.10.2006
Lokacija: Banjaluka, BiH
Poruke: 941
Hvala: 209
585 "Hvala" u 137 poruka
mangia će postati "faca" uskoromangia će postati "faca" uskoromangia će postati "faca" uskoromangia će postati "faca" uskoromangia će postati "faca" uskoromangia će postati "faca" uskoro
Pošaljite poruku preko MSN za mangia Pošaljite poruku preko Skype™ za mangia
Default

Prvo moras nauciti da razlikujes direktorij od fajla. U prvom slucaju pokusavas da otvoris index.php (ili koji je vec default fajl) i to u kontakt dir-u a u drugom slucaju otvaras kontakt.php fajl koji je u root-u.

Sto se tice drugog problema moras ukljuciti kratke tagove (short tags)...
__________________
mangiaphoto | BLOGERAJBLOG | ServerAdminBlog
mangia je offline   Odgovorite uz citat
Staro 26. 09. 2009.   #3
Miroslav
član
Certified
 
Datum učlanjenja: 26.12.2006
Poruke: 70
Hvala: 12
1 "Hvala" u 1 poruci
Miroslav is on a distinguished road
Default

Što se tiče mog prvog pitanja, malo ću ga preformulisati:

Kako da podesim u Apachu da mi kontakt bude isto kao i kontakt.php, dakle da ne moram da pišem .php ekstenziju?
Znači, Apach prvo traži folder kontakt, ako ga ne nađe onda traži fajl kontakt i ako ga nađe otvori ga.

Kod nekih hosting provajdera se podrazumeva da je ovo već podešeno, dok kod nekih ne.

Poslednja izmena od Miroslav : 26. 09. 2009. u 22:36.
Miroslav je offline   Odgovorite uz citat
Staro 26. 09. 2009.   #4
Markok
expert
Expert
 
Datum učlanjenja: 14.11.2008
Lokacija: Srbija
Poruke: 539
Hvala: 142
129 "Hvala" u 67 poruka
Markok će postati "faca" uskoroMarkok će postati "faca" uskoro
Default

kad stavis adresu http://localhost/kontakt/ sistem uvek trazi fajl index.htm ili index.php ili default.asp i jos par varijanti

ako ne postoji nista od toga onda nece da radi
Markok je offline   Odgovorite uz citat
Staro 26. 09. 2009.   #5
holodoc
član
Certified
 
Datum učlanjenja: 27.11.2007
Poruke: 71
Hvala: 10
12 "Hvala" u 11 poruka
holodoc is on a distinguished road
Default

Citat:
Originalno napisao Miroslav Pogledajte poruku
Što se tiče mog prvog pitanja, malo ću ga preformulisati:

Kako da podesim u Apachu da mi kontakt bude isto kao i kontakt.php, dakle da ne moram da pišem .php ekstenziju?
Znači, Apach prvo traži folder kontakt, ako ga ne nađe onda traži fajl kontakt i ako ga nađe otvori ga.

Kod nekih hosting provajdera se podrazumeva da je ovo već podešeno, dok kod nekih ne.
Ubedljivo najčešći razlog za nefunkcionisanje sadržaja .htaccess fajlova je neadekvatno podešavanje Apachea tj. njegovih konfiguracionih fajlova gde za folder gde se nalazi .htaccess nije data dovoljno velika sloboda instrukcijama u njemu da se uspešno izvrše. Prava instrukcija koje mogu ili ne mogu da se izvrše u određenom folderu se podešavaju AllowOverride Apache direktivom. ForceType direktiva zahteva da folder nad kojim se izvršava (tačnije folder u kome se nalazi .htaccess fajl sa ForceType direktivom) mora da ima minimalno FileInfo dozvolu da bi se uspešno izvršila. Postoji nekoliko rešenja za ovaj problem.

Prvo je da se u globalnom serverskom fajlu Apachea izmeni vrednost AllowOverride directive za DocumentRoot da sadrži minimalno vrednost FileInfo ili alternativno All koji bi sadržao i FileInfo u sebi. Ovaj pristup ne preporučujem uopšte.

Pametniji pristup bi bio da se pravo definiše na nivou zasebnog foldera kroz Directory direktivu. Recimo kao u sledećem kodu (Alias na kraju nije neophodan ali ja ga recimo često koristim da bih lakše došao do dugačkih staza.)
Kôd:
#Webgrind Alias
<Directory "C:/wamp/htdocs/sandbox/">
	Order deny,allow
	Deny from all
        Allow from 127.0.0.1
	AllowOverride FileInfo
</Directory>
Alias /sandbox "C:/wamp/htdocs/sandbox/"
Posle izmene Apache konfiguracionih fajlova treba restartovati server.
Staze za WAMP sam bezveze lupio tako da je velika šansa da sam ih omašio jer te "all in one" sisteme nisam nikada koristio. Tvoji fajlovi (uključujući i .htaccess) bi u ovom slučaju bili smešteni u folderu C:/wamp/htdocs/sandbox/ i ako je sve urađeno kako treba trebalo bi da funkcioniše to što želiš mada opet kažem, "all in one" paketi često imaju običaj da odtsupaju od podešavanja koja se koriste na produkcionim serverima tako da možda još nešto u tom WAMP paketu pravi problem.

Moja preporuka ti je ipak da se okaneš ForceType direktive zbog toga što ona bez obzira na MIME tipove fajlova forsira server da tretira fajl drugačije od prirode samog fajla pa mogu da nastanu problemi u određenim situacijama. Ako baš hoćeš da koristiš mogućnosti ugrađene u Apache moja preporuka je da koristiš DefaultType direktivu ili eventualno da porazmisliš o Redirect odnosno RedirectMatch koje su recimo mnogo zahvalnije za definisanje jednostavnih redirekcija (ovaj tvoj primer bi verovatno bio idealan). Ako te ne uspe mod_rewrite je neka poslednja alternativa za preusmeravanje.
holodoc je offline   Odgovorite uz citat
"Hvala" holodoc za poruku:
Staro 01. 10. 2009.   #6
Miroslav
član
Certified
 
Datum učlanjenja: 26.12.2006
Poruke: 70
Hvala: 12
1 "Hvala" u 1 poruci
Miroslav is on a distinguished road
Default

Citat:
Originalno napisao Markok Pogledajte poruku
kad stavis adresu http://localhost/kontakt/ sistem uvek trazi fajl index.htm ili index.php ili default.asp i jos par varijanti

ako ne postoji nista od toga onda nece da radi
Zašto nebi radilo?

Evo ovde nema index fajla pa radi sve kako treba:

http://nadjifirmu.com/reklame
http://nadjifirmu.com/reklame.php
http://nadjifirmu.com/reklame/

Možda sam ja nešto propustio... razumem kako radi Apač nego me zbunilo "neće da radi..."
Miroslav je offline   Odgovorite uz citat
Staro 01. 10. 2009.   #7
Gargoyle
old school
Professional
 
Datum učlanjenja: 19.04.2007
Poruke: 372
Hvala: 139
70 "Hvala" u 43 poruka
Gargoyle će postati "faca" uskoro
Default

^ Ima tu index , ili već neki url rewrite. Pored toga razlikuj fajlove od foldera. Kreni od toga.
Gargoyle je offline   Odgovorite uz citat
Staro 01. 10. 2009.   #8
bOkIcA
Bojan Abramovic
Professional
 
Datum učlanjenja: 17.01.2008
Lokacija: Novi Sad
Poruke: 232
Hvala: 30
47 "Hvala" u 30 poruka
bOkIcA će postati "faca" uskoro
Default

U tvom primeru je verovatno podesen mod_rewrite i to je ono sto si trazio kao odgovor, ako se ne varam.
Markok ti je tacno rekao, a holodoc se vise upustio u detalje zasto ponekad nije moguce podesavati zeljeno kroz .htaccess.
Znaci trazis uputstvo za .htaccess i mod_rewrite a ako zapnes pitaj.

I da razumes kako Apache radi ne bi sigurno ovde to pitao, no offense.
pozz
bOkIcA je offline   Odgovorite uz citat
Staro 01. 10. 2009.   #9
mileusna
Super Moderator
Knowledge base
 
Datum učlanjenja: 21.03.2006
Lokacija: Kragujevac
Poruke: 1.878
Hvala: 291
1.345 "Hvala" u 355 poruka
mileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobar
Default

Ako želiš takvo ponašanje, da npr. /kontakt bude isto što i /kontakt.php treba da enejbluješ MultiViews Apache opciju.

Citat:
MultiViews is a per-directory option, meaning it can be set with an Options directive within a <Directory>, <Location> or <Files> section in httpd.conf, or (if AllowOverride is properly set) in .htaccess files. Note that Options All does not set MultiViews; you have to ask for it by name.

The effect of MultiViews is as follows: if the server receives a request for /some/dir/foo, if /some/dir has MultiViews enabled, and /some/dir/foo does not exist, then the server reads the directory looking for files named foo.*, and effectively fakes up a type map which names all those files, assigning them the same media types and content-encodings it would have if the client had asked for one of them by name. It then chooses the best match to the client's requirements.

itd. itd. http://httpd.apache.org/docs/2.2/mod...gotiation.html
Elem, MultiViews je često i izvor mnogih problema kada se koristi u kombinaciji sa mod_rewrite. Kada neki rewrite neobjašnjivo ne radi kako treba, obično prvo treba isključiti MultiViews. Zato ga ja po defaultu isključujem svuda. Ali ako samo želiš da se ne vidi php ekstenzija, trebalo bi da bude OK, zato su ga valjda i napravili...

Poslednja izmena od mileusna : 01. 10. 2009. u 18:52.
mileusna je offline   Odgovorite uz citat
"Hvala" mileusna za poruku:
Staro 07. 10. 2009.   #10
Miroslav
član
Certified
 
Datum učlanjenja: 26.12.2006
Poruke: 70
Hvala: 12
1 "Hvala" u 1 poruci
Miroslav is on a distinguished road
Default

Citat:
Originalno napisao mileusna Pogledajte poruku
Ako želiš takvo ponašanje, da npr. /kontakt bude isto što i /kontakt.php treba da enejbluješ MultiViews Apache opciju.

...

if the server receives a request for /some/dir/foo, if /some/dir has MultiViews enabled, and /some/dir/foo does not exist, then the server reads the directory looking for files named foo.*
Izgleda da sam to tražio.

Citat:
Originalno napisao Miroslav Pogledajte poruku
...Apach prvo traži folder kontakt, ako ga ne nađe onda traži fajl kontakt i ako ga nađe otvori ga.
Rešenje je dakle u MultiViews.

Hvala svima na pomoći.
Miroslav je offline   Odgovorite uz citat
Odgovori


Alati teme
Način prikaza

Pravila pisanja
Možete ne započinjati nove teme
Možete ne slati odgovore
Možete ne slati priloge
Možete ne izmeniti svoje poruke
vB kôd je Uključen
Smajliji su Uključen
[IMG] kod je Uključen
HTML kôd je Isključen
Pogledajte forum

Slične teme
Tema Početna poruka teme Forum Odgovori Poslednja poruka
[REŠENO] PHP na apache i xampp konfiguraciji vidak Sva početnička pitanja 8 30. 10. 2007. 12:55
Apache reversni proxy i trailing slash problem... LiquidBrain Regular expression i htaccess 3 12. 10. 2007. 17:57
Apache NameVirtualHost problem.... LiquidBrain Regular expression i htaccess 6 09. 10. 2007. 23:43
Problem sa cookies na Apache-Localhost srdjan PHP 20 11. 05. 2007. 01:18
PHP, Apache - I want to get out analyzer PHP 19 19. 03. 2007. 22:51


Vreme je GMT +2. Trenutno vreme je 19:54.


Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.
Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.