Ismerősöm weboldalán szeretnénk egy 301-es átirányítást végezni htaccess fájl segítségével.
A kód a fájlban így néz ki: Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^oldalam.hu[nc] RewriteRule ^(.*)$ http://www.oldalam.hu/$1 [r=301,nc]
Feltöltés után viszont nem történik semmi. Lehet rosszul gondolom, de ha működne, akkor ha beírom az oldal címét simán a böngészőbe, akkor a www-vel kellene bejönnie.
Az lenne a kérdésem, hogy lenne-e valami ötletetek, miért nem megy? Hibás a kód, esetleg le van tiltva a htaccess? Fizetős tárhelyen van az oldal.
ad1) ugye nem ez van beleírva hogy oldalam.hu ? ad2) ha nginx van a szerveren, nem apache, benyaltad, illetve ha apache van, akkor is lehet úgy beállítva, hogy szarik a te saját htaccessedre
úgyhogy ha az 1-es pont rendben, vedd fel a kapcsolatot a szerver üzemeltetőivel
Természetesen nem az van benne, hanem az oldal rendes címe :) Pontosan nem tudom mi van a szerveren. Először az adminban kerestünk beállítási lehetőséget, de nem volt. Utána írtunk a szupportnak, arra jött a válasz, hogy használjunk htaccess-t rewriteengine-el.
nézted, hogy működik-e egyáltalán a htaccess? ha beleírsz valami "kgfodskgopdskgopdsgk"-t, dob 500-as hibát?
más: nem tudom megmondani, hogy perfekt-e a szintaxisod, én így szoktam a www-re való átirányítást apacsban:[code]RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] Utoljára szerkesztette: j0nNyKa, 2016.01.17. 23:00:04
Volna még egy kérdésem. A különböző fájlok (képek, css, js) cache-elését akarnám beállítani, azt meg így adtam meg: [code]# Caching schema
<FilesMatch "\.(jpg|png|css|js)$">
Header set Cache-Control "max-age=3600, public"
</FilesMatch> Erre a google PageSpeed Insights tesztelője ezt írja:
Használja ki a böngésző gyorsítótárazását Lejárati idő vagy maximális kor beállítása a statikus erőforrásokhoz a HTTP-fejlécekben arra utasítja a böngészőt, hogy a korábban letöltött forrásokat a helyi lemezről töltse be, ne a hálózaton keresztül.
Ezután listázza a kérdéses fájlokat, de mögötte jelzi hogy (1óra), tehát észleli, hogy megvan adva az 3600 másodperc, de mégse fogadja el. Meg kellene még adni valamit? Utoljára szerkesztette: Wootan, 2016.01.17. 23:30:38
hibát ebben sem látok, viszont inkább így?[code]<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 month"
ExpiresByType image/jpeg "access 1 month"
ExpiresByType image/gif "access 1 month"
ExpiresByType image/png "access 1 month"
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType text/javascript "access 1 month"
ExpiresByType application/javascript "access 1 month"
ExpiresByType image/x-icon "access 1 month"
ExpiresDefault "access 1 month"
</IfModule>ami lehet, hogy nincs bekapcsolva a mod_expires modul, ez megint a szerver üzemeltetők felé egy kérdés
egyébként ha van valami common js libed, mondjuk jquery és társai, azokat töltsd be valamelyik cdn szerverről, ők megoldják a kesselést is nyilván saját képekre, cssekre, jsekre az a jó megközelítés, amit te szeretnél most csinálni Utoljára szerkesztette: j0nNyKa, 2016.01.18. 09:05:51
Köszi! Kipróbáltam amit írtál, ugyanaz az eredmény. Valószínű az lehet amit mondtál, nincs bekapcsolva a modul, majd írunk a szupportnak. Kösz még egyszer!
Szóval elkezdtem nézegelődni az elmúlt pár hónapban junior webfejlesztő munkák iránt, pár cégnek még írtam is, hogy mi az ábra. Kicsit meglepett, hogy egyiket se érdekelte, hogy mit és hol végeztem el inkább valami munkát szeretnének látni amin már dolgoztam. Arra gondoltam, hogy bérlek egy domaint és összedobok egy oldalt ahol bemutatom magam és pár referencia munkát amit én csináltam. Egyáltalán jó ötlet ez? Ti, mint tapasztalt(abb) fejlesztők mit javasoltok, minek álljak neki? Mármint, hogy mit építsek? Mivel lehetne kitűnni a juniorok tömegéből?
Ha pl. építenék egy akármit akkor biztos, hogy reszponzívan építeném meg. Használjak bootstrapet vagy inkább magamtól oldjam meg? Használjak pl. LESS-t vagy sima CSS? PHP-t OOP-ban írnám egyértelműen. Érdemes lenne a kódot felraknom GitHub-ra? Ilyesmik érdekelnek...
Tavaszra már nagyon szeretnék munkába állni akár vidéken is ..csak legyek már valahol ahol tapasztalatot szerezhetek :)
egy kedves ismerősöm ezt dobta össze, ő ezzel talált hamar nagyon fasza állást
Én nem erőltetném a saját dolgokat, egy HR-es nem tudja mi az a CSS framework, de azt, hogy a Bootstrap-re figyelni kell igen. LESS/SASS ártani nem árthat, de nem hinném, hogy bármit is számítana, ami neked kényelmesebb. Bár az biztos + pont, ha saját projektben van Grunt/Gulp ami szépen lebuildeli amit le kell.
Érdemes csinálni LinkedIn/GitHub profilt. Nekem van egy teljesen üres LinkedIn profil, meg egy Github ahol 1-2 havonta van valami aktivitást és valahogy jött már 2 levál ajánlattal (mondjuk mindkettő külföldi volt és eléggé ilyen mass emailnek tűntek, bár a Pythont mindkettő eltalálta, szal tudja a fene ¯\_(ツ)_/¯)
Nem szeretnél egy cms készítésébe bakapcsolódni? Van egy csomó refactor rész, viszont a github profilodba jól is mutatna, hogy segítettél helyrehozni egy cms-t. Ha érdekelne: redaxscript - issue részben nézelődj mik a tennivalók (nem én csinálom a cms -t..)
Jim: Nem érzem még elég felkészültnek magam egy ilyen projekthez :)
Valamiért sehogy sem tudok csatlakozni a webtárhelyemen lévő adatbázishoz (gondoltam előbb itt megkérdem, support hétvégén úgyse olyan aktív). Webadmin felületen kell létrehozni adatbázist (MySql 5.1), ez eddig oké. adatbáznév, user, password, mind király. phpmyadmin felületen be is tudok lépni. Viszont ha egy php fájlból akarok csatlakozni akkor mindig Error! 'SQLSTATE[28000] [1045]' hibát kapok.
A "localhost"-ra való kapcsolódás ide mutat: MySQL 5.1
information_schema / USER_PRIVILEGES táblában ez áll:
GRANTEE | TABLE_CATALOG | PRIVILEGE_TYPE | IS_GRANTABLE
'Teszt '@'%' | NULL | USAGE | NO
most nézem írtam kis hülyeséget, de amúgy a lényeg nem változott: felhasználó, jelszó tuti jó. vagy harmincszor leteszteltem, jelszót cseréltem, akkor phpmyadmin így betudtam lépni, de connectelni sehogy sem. host tuti jó, felhasználó+jelszó páros is. ini fájlokban nem tudok turkálni. (próbáltam már csak kis betűs userrel, mindenhogy)
PHP Version 7.0.0 mysqli: mysqlnd 5.0.12-dev - 20150407 PDO drivers: firebird, mysql, pgsql, sqlite PDO Driver for MySQL enabled : Client API version 5.5.40-MariaDB
<!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <meta http-equiv="refresh" content="1;url=https://www.facebook.com/zugloote/"> <script type="text/javascript"> window.location.href = "https://www.facebook.com/zugloote/" </script> <title>Page Redirection</title> </head> <body> <!-- Note: don't tell people to `click` the link, just tell them that it is a link. --> If you are not redirected automatically, follow the <a href='https://www.facebook.com/zugloote/'>link to example</a> </body> </html>
Meg lehet valahogy oldani, hogy belekerüljön ebbe a kódba (vagy egy statikus oldalba ami utána azonnal átirányít) egy valamilyen akármilyen számláló ami IP cím alapján számlálja a látogatókat? Szeretnénk tudni, hogy egyáltalán van-e értelme a weboldalnak. Legyen, ne legyen. De ahhoz tudnunk kellene hogy nagyjából mennyien látogatják. Van-e értelme munkát,időt, pénzt belefeccölni. Köszönöm a segítséget!
Tegnap este próbáltam, de úgy néz ki vagy valamit elcsesztem, vagy nem jó. Szerintem a kód jó. Kétféleképpen is próbáltam, egyikkel sem jó. Valószínűleg azért mert rögtön átirányítja az oldalt a facebook-ra. Nincs elég idő arra, hogy a számláló észre vegye hogy az oldalon tartózkodsz. Gyakorlatilag ugye nem is tartózkodsz az oldalon.
A sorrend úgy néz ki mindegy. Az időt meg hiába tolom fel 10mp-re is akár, nem vesz észre semmit a google. Pedig többször is leellenőriztem, és a tracking kód jól van beillesztve. Próbáltam külön .php fájlként is. De nem...
Urak, használ közületek valaki gulpot? Belefutottam egy érdekes hibába és egy csomó helyen leírják, hogy "igen, tudunk róla" de igazából sehol nem írják le, hogy most akkor mit is kéne tenni. Érdekes adalék, hogy tegnap még semmi baja nem volt.
Tudna esetleg segíteni valaki aki ért hozzá? Privátban vagy akár itt is, nekem mindegy. Utoljára szerkesztette: Blum, 2016.02.25. 15:14:43
Na erre voltam kíváncsi, hogy van-e itt egyáltalán valaki aki használja. :)
Szóval van nekem egy ilyen gulpfile.js fájlom. Gondolom kivehető belőle, hogy mit csinál. Tegnap még hibátlanul működött ugyanez a gulpfile ArchLinux alatt, ma viszont Ubi 14.04-en elhasal a következő hibával.
Potentially unhandled rejection [2] Error: no writecb in Transform class at afterTransform (/var/www/html/cms/node_modules/gulp-less/node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js:75:33) at TransformState.afterTransform (/var/www/html/cms/node_modules/gulp-less/node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js:59:12) at /var/www/html/cms/node_modules/gulp-less/index.js:58:14 at tryCatchReject (/var/www/html/cms/node_modules/gulp-less/node_modules/accord/node_modules/when/lib/makePromise.js:845:30) at runContinuation1 (/var/www/html/cms/node_modules/gulp-less/node_modules/accord/node_modules/when/lib/makePromise.js:804:4) at Rejected.when (/var/www/html/cms/node_modules/gulp-less/node_modules/accord/node_modules/when/lib/makePromise.js:625:4) at Pending.run (/var/www/html/cms/node_modules/gulp-less/node_modules/accord/node_modules/when/lib/makePromise.js:483:13) at Scheduler._drain (/var/www/html/cms/node_modules/gulp-less/node_modules/accord/node_modules/when/lib/Scheduler.js:62:19) at Scheduler.drain (/var/www/html/cms/node_modules/gulp-less/node_modules/accord/node_modules/when/lib/Scheduler.js:27:9) at process._tickCallback (node.js:415:13)
Less-nél hasal el, egyszerűen nem értem, hogy mi baja lett. Plumbert direkt kiiktattam, hogy több infót kapjak de nem sokat segített :(
az ilyen jellegű hibák 99%-ban node verzió / szar npm cache hibák
szóval: - törölj npm cache-t - játszadozz node verziókkal (pl. nvm segít ebben), a node verziót amúgy MINDEN ilyen jellegű hibánál jó lenne, ha alapból felírnád, mert így eléggé csak a levegőbe tudunk neked lövöldözni
halk megjegyzés: ezeket a köröket szerintem nyugodtan kihagyhatod, hogy "használt-e már valaki" a jövőben nyugodtan feltételezheted, hogy az itteni aktív 2-3-4 emberke használta már azt a valamit, amivel épp bajod van Utoljára szerkesztette: j0nNyKa, 2016.02.25. 16:30:15
Áhá, ez volt a gond. Cache törlés megvolt de most nvm-mel felraktam a 4.3.1-et és azzal hibátlan... Köszönöm! Sejtettem, hogy valahol itt van az a kutya elásva mert az Arch más verziójú csomagokat rakott fel.
Ezzel kapcsolatban egy gyors kérdés: Ha én ezt most felrakom GitHub-ra (me' miért ne, legalább azt is gyakorlom) akkor ezt readmeben illik megjegyezni, hogy ha valaki ilyen hibába fut bele akkor csinálja meg ezt és ezt? Utoljára szerkesztette: Blum, 2016.02.25. 16:44:27
Szerintem felesleges, elég leírni, hogy milyen verziót kell használni hozzá. Vagy ha ez az nvm tud fájlból fix nodejs verziót telepíteni akkor hozzáadni egy olyan fájlt a projekthez (olyanra gondolok, mint pl a bower.json amibe be lehet írni, hogy milyen csomagokat húzzon le).
nem tud, de egy darab parancs: "nvm install 4.3.1", szerintem readme-be azt a pici helyet megéri
bár én nem ezt a megoldást választanám, hanem addig túrnám a progimhoz tartozó node csomagokat, amíg nem találok olyan verziókat, amiknek ~mind1 a node verzió, működnek rendesen úgy önmagukban is, meg együtt is
a less / sass csomagok tipikusan olyanok, hogy játszadozni kell velük, amíg kb stabil verziót talál az ember, de megéri azt a pár óra szopást, később napokat tud elkúrni 1-1 rossz verzió
blum: gulp mellett a helyedben megnézném grunttal is, egy leheletnyivel kevesebbet szoktam azzal szopni, meg több a csomag, van egy rakat alternatíva mindenre - de egyébként kb ugyanaz lesz, mint a gulp, guglizz "gulp vs grunt" témában, szólnak mindkettő mellett érvek
Jó ötlet, csomagokkal majd játszok egy kicsit aztán ha nem megy akkor marad a readme megoldás. Gruntot is próbáltam de egyszerűen nem áll rá az agyam/kezem, (számomra) feleslegesen bonyolult.
ez azért érdekes, mert a gulp programozós, a grunt meg sima konfigolás :) de egyébként kis projektnél majdnem mind1 melyiket választod, ilyen less, sass, minify, browserify és társaira találsz hétmilliárd példát mindkettő esetén .. mondom, gruntra talán egy lehelettel többet
Tudtok e esetleg olyan CMS-t vagy minek nevezzem, amit lehetne használni egy modul és téma galériának? mint amilyen a nagyobb CMS eknek van, (meg kisebbeknek is), lényegében ilyen showcase. Lényeg, hogy fel lehet tölteni saját modulok, témákat, stb stb.
Mi a legjobb módja, hogy a PhpStorm variable variable-t ne jelezzen undefined nak?
és akkor nekem ez létrehoz olyan változókat, hogy [courier]$kutya[/courier] , [courier]$macska[/courier] , [courier]$teknos[/courier].
Viszont mivel nem úgy hoztam létre őket, hogy $kutya = "Magdi", ezért az IDE pirossal aláhúzza, mert undefined. Ezt részben ki lehet kerülni így:
Ez így tökéletesen működik. Viszont nekem még egy dolog kéne bele, a link helyére, egy szintén az adatbázisból kiolvasott "titlelink" érték. A foreach-es történetet sajnos még mindig nem látom át (egyébként is csak barkácsolok), valaki bele tudná nekem kalapálni? Sokat segítene vele. Köszi előre is! :)
Ja bocsi, jogos, másolás miatt benne maradt egy kis felesleg :D (mondjuk működött) Meg előtte nyilván kapcsolódok, csak azt nem másoltam be
$newsdata = $mysqli->query("SELECT `id`, `title`, `date` FROM `news` ORDER BY `date` DESC");
Cat 02: köszi, de ezzel a kiírás hogy történik? Pont az a lényeg, amivel bajban vagyok :D Nyilván a selectbe is bele kell írni, de hogy a tömbösdibe hova rakom és hol olvasom ki, az a rész nekem kínai Utoljára szerkesztette: kekeN7, 2016.03.20. 22:25:44
Nekem ramnode-nál meg digitalocean-nál vannak. Ramnode-nál, ha elég az OpenVZ akkor van gép kb ~5.5k/év áron, de van rendes kvm is, csak az értelemszerűen drágább. Digitalocean-nál, meg ha esetleg diák vagy akkor githubról lehet szerezni $50-nyi kupont. Ha magyar kell akkor passz, általában marha drágák, ahogy nézem a docler kb olyan árban van mint az az webidea, csak több rammal meg tárhellyel, cserébe nem korlátlan adatforgalom (kérdés, hogy a másiknál ténylegesen korlátlan-e, de sztem 1TB elég havonta).
Egy natív mobilos appot csinálok ami egy saját rest api-val fog kommunikálni. Az applikációban be tudnak regisztrálni és be tudnak lépni a felhasználók. Belépés után a felhasználó paramétereivel elérek pár endpointot az api-ban. Hogyan tudom azt limitálni, hogy csak belépés után, a mobil alkalmazásból érkező api hívásokra válaszoljon a rendszer?
Első ötletem az volt, hogy "Beleégetek" az applikációban egy API kulcsot amit ellenőrzök a szerveren és mivel https-en kommunikálok, ez nem fog látszódni. Ez iOS-en még jó is lenne, de egy APK simán visszafejthető és megvan az API kulcs.
Más ötlet esetleg, hogy biztonságosabb legyen? Ráadásként a későbbiekben egy-egy felhasználónak szeretnék jogot adni arra, hogy a saját rendszerében is felhasználhassa az API-t, tehát valami ilyen megoldást keresek, ami részben kinyitható a külvölág felé is.
Elo lepesben termeszetesen autentikalni kell a felhasnzalot. Ez tortenhet kulondoboz adatok/tulajdonsagok/stb bekeresevel. Boven olvashatsz rola a neten. A legelterjedtebb megoldas a "amit tudsz" alapu azonositas (user/password) de manapsag a "ami vagy" is kezd elterjedte vallni a touch id miatt. Miutan az API-d azonositotta a felhasznalot azutan hasznalhatsz egy tokent. Manapsag eleg elterjed a JWT (json web token). Az kliens app minden egyes keresnel ujra kuldi a tokent (a token valtozhat munkamenetek es akar keresek kozott is).
Igen, JWT-t használok, de a kérdés nem erre vonatkozott. Röviden annyi, hogyan tudom megakadályozni azt, hogy az API hívásokat a saját applikációnkon kívülről is elérhetők legyenek?
auth token mivel mindig egy generált dolog szerver oldalon, így ha azt használod az api hívásnál, jó vagy ha nem OAuth2-t használsz, használj azt, és kb meg is van oldva a problémád
De megint nem a kérdésére válaszoltok, mi akadályoz meg, hogy ugyanazt a folyamatot curl vagy egyéb más klienssel végig vidd? Ugyanúgy megkapod a tokent és ugyanúgy el tudod küldeni akármivel.
Én sem látok rá módot... valszeg az lesz, hogy API kulccsal meg header-el nagyjából megnézem, hogy azért mégse legyen tök egyértelmű és inkább megpróbálok arra fókuszálni, hogy amit visszaadok választ, az legyen valahogy lekódolva úgy, hogy ne legyen felhasználható csak az applikáción belül valahogy.
PHPUnit: Egy sima osztályt kellene tesztelni, egy SESSION kulcsot nulláz lényegében le. Ha sikereres akkor ez, ha sikertelen akkor meg amaz történik. PHPUnitban hogy tudnám megoldani, hogy elhasaljon az osztályon belüli session kulcs nullázása ?
Kb ilyen az osztály amit tesztelni kell:
class Osztaly
{
public function feldolgoz()
{
..
if ($masik->SessionNullaz())
{
return $this->siker();
}
else
{
return $this->hiba();
}
}
public function siker()
{
return "siker";
}
public function hiba()
{
return "hiba";
}
}
Szóval jó lenne elérni, hogy a bizonyos Sessiun kulcs kinullázása sikertelen legyen, és "hiba"-t adjon vissza Utoljára szerkesztette: Jim Morrison, 2016.03.29. 17:31:25
j0nNyKa nak köszi a Mock tippet, ha jól látom ez lesz az. Addig is maradta a fapados megoldás, dataproviderben megadtam, hogy hibás legyen e vagy ne, és ha annak kell lennie, akkor simán csak a ->hiba() t hivom meg, nem a feldolgoz-t... ^^
Lehetséges, hogy amit használok dataProvidernek json fájlban, az "expect" rész egy részét ne vegye figyelembe? Gondolok itt olyanra, hogy, hogy a mai dátum szerepel a visszakapott stringben, akkor egy bizonyos nap, ha a dataproviderben is az van megadva akkor jó. De ha következő nap futtatjuk, akkor ugye már a tegnap beírt dátumhoz hasonlítja ami nem jó. Még ha ez a dinamikus tartalom egyszer szerepelne azt mondom okés, de mi van ha mondjuk hatszor?
PL: "ma 04.04 van." ha ezt ma futtatom akkor fasza, nem kapok errort, de ha mondjuk holnap, akkor azt kapom, hogy: "ma 04.05 van." (a dataProviderben meg ugye "ma 04.04 van." )
Tudtok ajánlani nagyon egyszerű PHP-s scriptet/keretrendszert, amivel egyszerűen tudok csinálni REST API-hoz backendet? Igazából a munka nagy részét a Firebase végezné, tehát tényleg csak annyi kéne, amivel egyszerűen tudok endpointokat létrehozni, szépen formázva adja vissza a válaszokat stb...