Autor Zpráva
G_L
Profil
Dobrý den, chci na stránkách použít mod_rewrite, ale stránky ve tvaru www.xyz.cz/polozka se mi nechcou načíst do šablony. Pokud stránka neexistuje, tak se bez problémů načte do šablony příslušný soubor stranka_nenalezena.php, ale pokud stranka existuje, tak je výsledek stejný, jako kdyby se u původní struktury místo www.xyz.cz/index.php?stranka=polozka do prohlížeče zadalo www.xyz.cz/polozka nebo www.xyz.cz/polozka.php - prostě zobrazí se jen soubor polozka.php, ale nezačlení se do šablony.
V .htaccess mám
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ index.php?stranka=$1 [L,QSA]

Pro načtení stránky do šablony mám:
<?php
                if (isset($_GET["stranka"]) && substr_count($_GET["stranka"], "/") < 1)
                    $stranka = $_GET["stranka"];
                else
                    $stranka = "uvod";
		
		$soubor = "$stranka.php";
                
		if (file_exists($soubor))
                    include $soubor;
                else 
                    include "stranka_nenalezena.php";
?>

Ještě dodám, že pokud by výsledné stránky pomocí mod_rewrite a stejné šablony neměly být ve tvaru www.xyz.cz/neco, ale ve tvaru www.xyz.cz/neco.html šlo by to bez problémů. Vím, že pro ty z Vás, kteří se tvorbě webů věnujete dlouho, to bude triviální problém. Moc děkuji za odpovědi!
Kajman_
Profil *
Adresa www.xyz.cz/polozka.php se nepředá index.php ve chvíli, kdy polozka.php existuje, protože to zakazujete tímto pravidlem.
RewriteCond %{REQUEST_FILENAME} !-f


Co si ty vkládané soubory dát do nějakého adresáře?

Doplněno: A pokud se to takto chová i při požadavku na xyz.cz/polozka, tak to může předtím překlopit jiný modul.
G_L
Profil
Kajman:
Děkuju, pomohlo přesunout stránky do adresáře.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0