Oldal: 6 / 13

Re: PHP segély

HozzászólásElküldve: 2010.06.30. 13:51
Szerző: l2sh
Afronaut írta:Na szóval tisztázzuk! :)
Nekem rewrite kell! Nem Robots.txt annak semmi köze az url újraíráshoz...
na szóval még egyszerűbben nem meta tagek érdekelnek mint ahogy azt már írtam...

l2sh köszi a tippet kipróbálom... csak szerinted mindkettőt (mod_rewrite+file_exists($_GET['site']) függvény) kell használni, hogy amikor új oldalt csinálok ne kelljen újra mod_rewriteozni?
mármint megvannak a linkek faszák! és mondjuk hozzáadok egy új oldalt aminek a linkje ez: http://cms-tesztek.weboldala.net/index. ... ry&picID=4 (ez 1ik galériába egy kép) De írja újra az urlt mondjuk erre: http://cms-tesztek.weboldala.net/gallery/pic4 és ne kelljen mindig újra írjak egy rewriteot az adott linkhez!
ötletek?


Apache-ban alapból csak egyszerű átírásokat lehet végezni, vagy írsz új modult hozzá C-ben, és elküldöd az adminnak az SO fájlt. Nem olyan bonyolult. :)
Na, de tehát eredetileg csak a http://cms-tesztek.weboldala.net/gallery/pic4 mappa lekérését tudod átírni mondjuk http://cms-tesztek.weboldala.net/index. ... llery/pic4 paraméterre.
Kód: Egész kijelölése
<IfModule mod_rewrite.c>
   RewriteEngine On
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule ^(.*)$ index.php?mappak=$1 [L]
</IfModule>

Ha engedélyezni szeretnéd azt is, hogy paramétereket írjanak az urlba, pl. http://cms-tesztek.weboldala.net/gallery/pic4/?param=1 , erre van a %{QUERY_STRING} apache változó. Példa:
Kód: Egész kijelölése
<IfModule mod_rewrite.c>
   RewriteEngine On
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule ^(.*)$ index.php?mappak=$1&%{QUERY_STRING} [L]
</IfModule>


A többit viszont már php-ban kell megcsinálni. A $_GET['mappak'] értékét szétszeded / jeles elválasztással, és átmásolod a $_GET tömbbe valahogy így:
Kód: Egész kijelölése
$mappak = $_GET['mappak'];
$tok = tokenize($mappak, "/");

for(
$i = 0; $i < count($tok); $i++)
{
    $_GET[$i] = $tok[$i];
}

function tokenize($str, $tok)
{
    $toks = strtok($str, $tok);
    $ret = array();
    $i = 0;
    while($toks !== false)
    {
        $ret[$i] = $toks;
        $toks = strtok($tok);
        $i++;
    }
    return $ret;
}
 


Viszont ilyen esetben csak a számozást tudod használni, ha a paraméterek ennyire változóak.
De ha tudod a paramétereket, akkor írhatod mondjuk így is a $_GET tömbbe helyezést:
Kód: Egész kijelölése
$_GET['site'] = $tok[0];
$_GET['picID'] = substr($tok[1], 3); 


Akár külön php fájlba is írhatod mindezt, aztán meg egy include()-dal belerakod az index.php-ba.

Re: PHP segély

HozzászólásElküldve: 2010.07.12. 18:40
Szerző: Afronaut
Köszi szépen! kísérletezgetek majd ezekkel
adamos42 elnézést csak gondoltam meg kérdezem hátha :)

Re: PHP segély

HozzászólásElküldve: 2010.07.12. 18:54
Szerző: adamos42
Semmi probléma, közben utánajártam és találtam egy oldalt. http://generateit.net/mod-rewrite/
Ez az oldal megcsinálja helyetted a rewrite-t, csak annyi az ördöngössége, hogy ha felraktad és frissítenéd az oldalt pl.:

http://valami.hu/index.php?id=5&lap=2

akkor írd át a rewritenek megfelelően:

http://valami.hu/cikkszama/1/oldal/2

nekem sikerült az otthoni szerveremen

Re: PHP segély

HozzászólásElküldve: 2010.07.12. 19:14
Szerző: Afronaut
adamos42 írta:Semmi probléma, közben utánajártam és találtam egy oldalt. http://generateit.net/mod-rewrite/
Ez az oldal megcsinálja helyetted a rewrite-t, csak annyi az ördöngössége, hogy ha felraktad és frissítenéd az oldalt pl.:

http://valami.hu/index.php?id=5&lap=2

akkor írd át a rewritenek megfelelően:

http://valami.hu/cikkszama/1/oldal/2

nekem sikerült az otthoni szerveremen


Persze ez oké csak a probléma igazából ott kezdődik, hogy ha sok tartalom kerül fel az oldalra azt nehéz egyenként rewriteozni... pl ha van egy oldalad és tegyük fel napi 20 új oldalt adsz hozzá... nem beszélve a fórum részéről, stb...
szóval elvileg ezt értem... mármint azt, hogy hogy rewriteozok egy linket de olyant kéne csináljak ami automatikusan rewriteoz
pl van egy cms rendszered aminek alapból nincs mod_rewrite támogatása... akkor csinálhatod úgy, hogy egyenként adsz meg parancsokat .htaccess-ben vagy úgy, (ha tudod hogy kell) hogy írsz pár parancsot és utána folyamatosan és persze automatikusan helyetted újra írja az új linkeket... utóbbi kéne nekem, hogy ne egyenként kelljen rewriteokat irni

Re: PHP segély

HozzászólásElküldve: 2010.07.12. 19:48
Szerző: adamos42
a rewrite nem az, hogy minden egyes címet be kell írni, hanem pl a .php?valami=$1&valami=$2 elemet rakja át másképp pl. ?valami:$1/valami:$2, csak annyi az ördöngössége, hogy a php-t úgy kell felépíteni, hogy ne a .php?valami=$1&valami=$2-ra hivatkozzon hanem a ?valami:$1/valami:$2-re és a rewritet csak 1x kell megírni jól.

Re: PHP segély

HozzászólásElküldve: 2010.07.23. 16:31
Szerző: gamball
Hello mindenkinek elkéne egy kis segítség.Az oldalam www.gtahotel.jatekoldal.net abban kéne egy kis segítség hogy hogyan lehet egy panelben linkeket és képet rakni mint ezen az oldalon http://totalnfs.hu milyen mod kell hozzá vagy milyen HTML kód és milyen beállítás

Re: PHP segély

HozzászólásElküldve: 2010.07.23. 16:41
Szerző: adamos42
ha ara gondolsz, hogy a panelek-nek külön külön más fejléce van akkor azt a téma módosításával tudod elérni, a themes/XXX/theme.php-ban van egy function definiálás opentable($name) { //vagy valami ilyesmi
ebben a részben lejjebb van az $name változó vagy div-ben vagy táblázatban, módosítanod kell hogy mi legyen ennek a résznek a háttere. Ha jártas vagy a html & css alapjaiban akkor menni fog. ha nem akkor nézz utána, az alapoknak, ahhoz most mincs energiám hogy minden megcsináljak helyetted. (ne vedd sértésnek!) Jelenleg készítek egy php cmsrendszert amivel majd az itteni szervereket lehet majd kezelni, automatikus php rendszer feltétellel, webftp, .htaccess .htpassw robot.txt segédlettel stb. hamarosan indíom a hozzá kapcslatos oldalt.

Re: PHP segély

HozzászólásElküldve: 2010.07.24. 06:56
Szerző: gamball
Vagy akarok egy olyan panelt amibe banner cserék vannak azaz képek belinkelve próbáltam csinálni de ezt írja ki: Parse error: syntax error, unexpected '<' in /var/www/jatekoldal.net/gtahotel/www/administration/panel_editor.php(128) : eval()'d code on line 2

és én ezt a HTML kódot írtam be : openside("Bannerek");
<a href='http://gtaxtreme.info/' target='_blank'><img src='http://elitgamer.net/images/partnereink/gta2.png' style='margin:5px' align='left' />
closeside();

PHP Fusiont használok

Re: PHP segély

HozzászólásElküldve: 2010.07.24. 18:28
Szerző: adamos42
openside("Bannerek");
<a href='http://gtaxtreme.info/' target='_blank'><img src='http://elitgamer.net/images/partnereink/gta2.png' style='margin:5px' align='left' />
closeside();


ezzel csak annyi a probléma hogy nem tedted echo-ba! a helyes:

openside("Bannerek");
echo "<a href='http://gtaxtreme.info/' target='_blank'><img src='http://elitgamer.net/images/partnereink/gta2.png' style='margin:5px' align='left' />";
closeside();

Re: PHP segély

HozzászólásElküldve: 2010.07.24. 18:30
Szerző: adamos42
ja és még valami!

function opentable($title) {

echo "\n<div style='background: url('http://elitgamer.net/images/partnereink/gta2.png);height:40px'><h2>$title</h2></div>\n\t<div class='panelbody'>\n";

}