ugrás a tartalomhoz

.htaccess , ezzel működhet ??

cselex · 2011. Már. 20. (V), 15.38
Sziasztok !

A napokban kezdtem el foglalkozni a .htaccess file bekonfigurálásával, nem sokat haladtam vele és már az az érzésem lehet weblap kóddal lesz a baj.
Egy egyszerűbb kis php motort használok és így vannak behúzva a tartalmak az alap weboldalba.
A kérdésem az lenne hogy ehhez a motorhoz lehet írni ilyen filet ???
Mert legutóbb már ment a weblapom hogy a böngészőbe beírtam hogy cselex.hu/folap, így betöltötte a weblapomat.
Viszont ha böngészek a menüpontok között akkor ismét ez a ronda hivatkozás jön be
http://cselex.hu/index.php?modules=folap .
Tudnátok valami tippet adni ?
Több ezzel kapcsolatos cikket átrágtam köztük az itteni témát/témákat de nem akar így se működni.
Előre is köszönöm a segítségeteket.


Ez az index.php kódja, itt található a "PHP motor".
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>

<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<META name="DESCRIPTION" content="Lévai Csaba József portfóliója" />
<META name="KEYWORDS" content="" />
<title>Cselex.hu - Lévai Csaba József bemutatkozó lapja</title>
<link href="css/index.css" rel="stylesheet" type="text/css"/>
<style>
#lap_keret
{
behavior: url(ie-css3.htc); /* This lets IE know to call the script on all elements which get the 'box' class */
}
</style>
</head>

<body>
<div id="contener">
<div id="header">
<div id="logo"><img src="kepek/logo.png" /></div>
</div>
<div id="left_box">
<div id="menu"><?php include 'menu.php'; ?></div>
</div>

<div id="right_box">
<div id="lap_keret">
<div id="szoveg_doboz">
<?php
$modules["folap"] = "tartalom/folap.php";
$modules["oneletrajz"] = "tartalom/oneletrajz.php";
$modules["munkaim"] = "tartalom/munkaim.php";
$modules["tervek"] = "tartalom/tervek.php";
 
$act = "tartalom/folap.php"; //az alap betoltes, ha nincs megadva a module valtozo
 
if ( !isset($_GET["modules"]) ){
  $get_mod = "";
}
else $get_mod = strip_tags(htmlentities($_GET["modules"]));
 
foreach($modules as $mod => $act_m){
  if( strcmp($mod,$get_mod) == 0 ){
    $act = $act_m;
    break;
  }
}
 
if ( file_exists($act) ){
  include $act;
}
else{
  echo "Az oldal nem található.";

}
?>
</div>
</div>
</div>
</div>
<div id="lablec">

</div>

</body>

</html>


A menu.php kódja.
<ul id="menu">
<li> <a href="index.php?modules=folap">Főlap</a></li>
<li><a href="index.php?modules=oneletrajz">Önéletrajz</a></li>
<li><a href="index.php?modules=munkaim">Munkáim</a></li>
<li><a href="index.php?modules=tervek">Tervek</a></li>
</ul>



A .htaccess kódja.
<IfModule mod_rewrite.c>

RewriteEngine ON
RewriteOptions MaxRedirects=10
RewriteRule ^(.*)folap(.*)$ index.php?modules=folap [L]

</IfModule>
 
1

Látsz a kettő között

kuka · 2011. Már. 20. (V), 16.01
Látsz a kettő között különbséget?
a böngészőbe beírtam hogy cselex.hu/folap

<li> <a href="index.php?modules=folap">Főlap</a></li>

A mod_rewrite a kérésekben írja át az URL-t.
A válaszban a tartalmat nem valószínű, hogy valaki/valami át fogja írni helyetted.

Ha cselex.hu/folap formájú URL-eket akarsz használni, akkor úgy is kell írd őket:
<li> <a href="/folap">Főlap</a></li>
2

Siker :)

cselex · 2011. Már. 20. (V), 17.16
Szia Kuka !

Persze hogy látom mi a különbség a kettő között.
Csak nem tudtam hogy kell használni rendesen a .htaccess-t .
Köszönöm a segítséged most már működik rendesen az egész.
KÖSZI :)
3

A menu.php kódja.Amit a

kuka · 2011. Már. 20. (V), 17.46
A menu.php kódja.
Amit a témanyitóban idéztél mint menu.php, azt kellene használd a valóságban is. Mert a szerveren levő menu.php egy teljes HTML dokumentumot tartalmaz. Azt bevágva egy másik teljes HTML dokumentumba szintaktikai hibák sorát eredményezi (bár van ott egyéb hiba is).