Jackal Posted October 21, 2010 Report Share Posted October 21, 2010 Ir saite: http://localhost/project/test/1234 project ir reāla mape kurā atrodas visi projekta faili. test un 1234 ir parametri. Tā kā projekts pagaidām atrodas uz testa servera, tad visi projekta faili neatrodas uz http://localhost, bet gan apakšmapē Pārceļot uz īsto serveri, faili vairs neatradīsies apakšmapē. Problēma tāda, ka nezinu kā dinamiski atgriezt pilno saiti. Vajadzētu, kaut kā dinamiski atgriezt http://localhost/project, lai pārceļot uz īstā servera nebūtu jāmaina kods. Nav jau daudz jāmaina, bet tomēr gribētu, lai tas nebūtu jādara. Vai ir kāda iespēja to izdarīt? Quote Link to comment Share on other sites More sharing options...
briedis Posted October 21, 2010 Report Share Posted October 21, 2010 Ir. Vari uztaisīt konkrētam projektam lokālu "domēnu". Vajadzēs labot hosts failu, un pievienot virtualhost ierakstu. Parocies gūglē: http://www.google.lv/search?q=virtualhost+local+domain&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:lv:official&client=firefox-a Quote Link to comment Share on other sites More sharing options...
Jackal Posted October 21, 2010 Author Report Share Posted October 21, 2010 (edited) Par virtual hosts ir zināms, bet vai tas ir vienīgais veids kā to panākt? Vai to nevar panākt tīri ar php kā to var izdarīt ar direktoriju servera pusē - realpath(dirname(__FILE__)) ? Izdomāju risinājumu echo 'http://' . $_SERVER['SERVER_NAME'] . str_replace($_SERVER['QUERY_STRING'], '', $_SERVER['REQUEST_URI']); Edited October 21, 2010 by Jackal Quote Link to comment Share on other sites More sharing options...
Rincewind Posted October 21, 2010 Report Share Posted October 21, 2010 print_r($_SERVER); rāda ka pilno ceļu var dabūt no $_SERVER['HTTP_HOST'] un $_SERVER['PHP_SELF']. Bet kods nebūs smuks. Quote Link to comment Share on other sites More sharing options...
marcis Posted October 21, 2010 Report Share Posted October 21, 2010 Par šo tēmu arī šeit ir bijušas diskusijas. Labākais variants ir uztaisīt kaut kādu funkciju, piemēram url(), kas no config'a paņem variabli, kurā norādīts path. define('SITE_PATH', '/project/'); // vai http://localhost/project/ production vidē attiecīgi cits domains/mape function url($path = ''){ return SITE_PATH.$path; } Šis būs krietni labāks un uzticamāks risinājums. Quote Link to comment Share on other sites More sharing options...
briedis Posted October 21, 2010 Report Share Posted October 21, 2010 Php principā nav nekāda sakara ar to, kā visu redz pārlūks. Tev problēma ir ar ceļiem php pusē? (include, require utt izmantojot) vai problēma ar webisko pusi? <img src="bildes/kautkas.jpg"/> ? Nodefinē konstanti iekš php, kas norāda projekta pamata ceļu. To dara šādi: ir kaut kāds config fails, kas atrodas pamata mapē. define("PROJECT_BASE_PATH", dirname(__FILE__) . "/"); un tad kad kaut ko inklūdo raksta require(PROJECT_BASE_PATH . "files/kautkas.php"); Quote Link to comment Share on other sites More sharing options...
Jackal Posted October 21, 2010 Author Report Share Posted October 21, 2010 Problēma ir ar web pusi. realpath(dirname(__FILE__)) bija tikai piemērs kā šī problēma tiek risināta ar php direktorijām. Quote Link to comment Share on other sites More sharing options...
briedis Posted October 21, 2010 Report Share Posted October 21, 2010 (edited) Es nečakarētos un pievienotu hosts + apačes virtualhosts failā pa ierakstam un visur norādītu absolūtos ceļus... Tas ir, protams, ja nedomā glabāt divas dažādas lapas uz viena domēna.. tad nāksies Mārča doto variantu izmantot... Edited October 21, 2010 by briedis Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.