| Uutiset | Koodikirjasto | Wiki | Keskustelut | FAQ | Info |
subdomainit ja toimivat urlit .tk domaineissa v.0.2empty 29.11.03 23:39 Subdomainit ja suorat kansionimet toimimaan ilmaisisa .tk domaineissa
//Elikkä kun omaat (ilmaisen) .tk osoitteen, ei ole kovinkaan //paljon väliä kirjoitatko http://www.domain.tk/ vai //http://koiranluu.domain.tk/Kissa // //Tämä scripti "korjaa" tilanteen. Koodi on kohtalaisen rumaa ja sekavaa, //kommenteja aivan liian vähän, mutta ajattelin silti jakaa, koska en ole //huomannut muiden tätä keksineen. (Varmasti -JOKU- sen on keksinyt, //en vain tunne ketään) // // Jos käytät, kiitä. (Pliis) //index.php <?php //Muokkaa nämä haluamaksesi $sDomain = 'domain.tk'; //rekisteröimäsi domainnimi $sOsoite = 'http://oikea.osoite.com/domain/'; //sivustosi oikea osoite. Muista trailingslash $sIndeksi = 'index2.php'; //oikean etusivun nimi $sSDomainK = 'http://oikea.osoite.com/'; //kansio joka sisältää subdomainien kansiot //Elä enää muokkaa, paitti jossei toimi :D $sLDomain = 'http://'.$sDomain; // Domainnimi ilman www-osaa $sPDomain = 'http://www.'.$sDomain; // Domainnimi www-osan kanssa $sReferer = getenv("HTTP_REFERER"); //tarkistetaan että haluttiin joko indeksi, tai kansio, ei subdomainia if(stristr(strtolower($sReferer), $sPDomain) || stristr(strtolower($sReferer), $sLDomain)) { //Jos on etusivu hakusessa, heitetään sinne if(strtolower($sReferer) == $sPDomain."/" || strtolower($sReferer) == $sPDomain) { header("Location: ".$sOsoite.$sIndeksi); } //muuten tutkitaan mitä saisi olla else { if(stristr(strtolower($sReferer), $sLDomain)){ //Jos pyydetään sivua (esim domain.tk/koira isketään se eteen header("Location: ".$sOsoite.str_replace($sLDomain."/", "", strtolower($sReferer)) ); } else { //sama ilman www:tä ja sen kanssa header("Location: ".$sOsoite.str_replace($sPDomain."/", "", strtolower($sReferer)) ); } } } else { //haluttiinkin subdomaini //revitään osoitteesta http:// ja domainosa pois.. $subdom = str_replace("http://", "", strtolower($sReferer)); $subdom = str_replace(".".$sDomain."/", "", strtolower($subdom)); $subdom = str_replace(".".$sDomain, "", strtolower($subdom)); //lähetetään subdomainin mukaiseen kansioon if($subdom == "www" || $subdom == "WWW" || $subdom == "") { header("Location: ".$sOsoite); exit; } else { header("Location: ".$sSDomainK.$subdom); exit; } //selain ei tukenut HTTP_REFERER:ä, tai yritettiin tulla "takaovesta" print '<HTML> <HEAD></HEAD> <BODY> Tulit joko väärästä osoitteesta, tai selaimesi ei lähettäny HTTP_REFERER-otsaketta (header). <A HREF="<?php echo $sOsoite.$sIndeksi ?>">Tässä</A> suora linkki etusivulle. </BODY> </HTML>'; } ?> //EOF empty 23:40 29.11.03 Tämän voisis varmasti tehdä helpommin.. Mutten osaa. Tämä on ensimmäinen php scriptini josta voisi oikeasti olla hyötyä jollekulle muulle kuin itselleni.. Jos joku todella käyttää tätä jollain tapaa (esim samaa ideaa paremmin ym ym), toivoisin että mainitsisi siitä.. Rytmis 14:25 30.11.03 Juu, tuon tosiaan voi tehdä helpommin, .htaccess-tiedostolla jos Apacheen on konffittu mod_rewrite. Like so: RewriteEngine On Options +FollowSymlinks RewriteBase / # ensimmäinen alidomain RewriteCond %{HTTP_HOST} alidomain.omadomain.com$ RewriteCond %{REQUEST_URI} !alidomain/ RewriteRule ^(.*)$ alidomain/$1 Koodi on hävyttömän härskisti kopioitu Int2000.netiltä empty 19:44 30.11.03 mutta prosessoikos tuo myös tuon .tk/blahblah -osan? Ja tosiaan jos apassiin on mod_rewrite konffittu, minulla ei näköjään ole omassa sivutilassani asiat näin ruusuisesti :D thefox 21:46 30.11.03 Hyvä idea, uskoisin että tästä voi olla ihmisille hyötyä. Koodi on hieman sekavan näköistä ovelan sisennys- ja kommentointitavan takia mutta muuten vaikuttaisi ihan toimivalta. Rytmis 10:46 1.12.03 Pitäisi tuolla .htaccess-pätkällä toimia ihan niin että http://blaablaa.omadomain.com/foo/bar --> http://omadomain.com/blaablaa/foo/bar/ jne. Skripti näyttää ihan kivalta -- et ole ajatellut pistää muuttujaan tuota domainnimeä, niin ei tarvitsisi noin monessa paikkaa kirjoittaa sitä? empty 15:09 1.12.03 Juu, kuten sanoin olen kohtalaisen kehno php:ssä. Ja minulle ei esimerkiksi ole hyötyä tuosta .htaccess:sta koska ei ole rewrite päällä, enkä sitä pääse säätämään, kun on natsiadmin. Mutta kiitosksia palautteesta, kunhan pääsen kotiin, laitan domainin muutujaksi, nyt tulee kiire jo tunnille :D empty 21:17 4.12.03 Noniin.. nyt on sitten vähän käyttäjäystävällisempi, kun on kaikki "pakolliset" muokattavat osat heti alussa. Meni näköjäänsä noi tabit taas ihan päin mäntyä, mutta en jaksa enää korjata, joku toinen päivä sitten... nixe 16:30 6.12.03 parse errori rivillä 37 $subdom = str_replace(".".$sDomain., "", strtolower($subdom)); yks piste liikaa, muuta rivi muotoon: $subdom = str_replace(".".$sDomain, "", strtolower($subdom)); empty 09:28 8.12.03 Kiitoksia. Tein tuon muutoksen aika kiireessä, joten jäi varmaan parikin tuollaista mokaa tuonne. Thief 17:04 8.12.03 Tuo .htaccess systeemillä tehty ei toimi .tk domainien kanssa. Kuinka tuo yllä olevan scriptin sais muokattua niin että kun osoite rivillä lukee jotain muuta kuin something.domain.tk lähettää skripti käyttäjän syötettyyn osoitteeseen.. Esim. Minulla on tiiffi.ath.cx ja tiiffi.tk. Jos käytän tuota skriptiä niin ath.cx lopettaat toimintansa. Joten haluan niin että myös tiiffi.ath.cx syötettynä skripti heittää oikeaan paikkaan. empty 13:30 10.12.03 Juu, lisäät vain ennen tuota //selain ei tukenu... riviä tällaisen rivin if(stristr(strtolower($sReferer), "http://tiiffi.ath.cx")) header("Location: ".$sOsoite); niin pitäisi toimia, en tosin ole testannut, mutta testaan kunhan pääsen taas omalle koneelleni |
![]() Haku
|