Include do indexu přes mod_rewrite

V .htaccess mám kód (pouze výtažek...)

RewriteRule ^/novinky/$ %{DOCUMENT_ROOT}/index.php?stranka=novinky



Když zadám adresu web.cz/novinky, tak se zobrazí pouze soubor novinky.php (ale správně by se měl includovat do index.php). Kde mám chybu? :(
Zapomels na nekolik veci ..
1) ve svem pravidle vyzadujes lomitko a uz ve svem priklade to pises bez nej :) (bud automatisky pridat za kazdy soubor, ktery neexistje lomitko, nebo lomitko ndelat nepovinne)
2) pokud mas vice sekci nez novinky, nebylo by jednodussi udelat pravidlo pro presmerovani vseho (kdybys treba pridal novou sekci, at nemusis upravovat htaccess)?

=====

Ale k otazce..
O souboru novinky.php se nikde nezminujes..takze te na nej htaccess v zadnem pripade nepresmeruje ...
Jsi si jisty, ze neni problem v souboru index.php, kde se krome souboru novinky.php nic nevypises?

=====
A jeste mimo tema:
Jako priklad web adresy se pouziva example.net a ne web.cz ;)
1.) To jsem zkoušel i s lomítkem, ale nefungovalo to stejně...
2.) Mám více sekcí, ale potřebuji to takhle, jelikož někdy to bude mít jinou hodnotu než za co se to nahradí...

=====

soubor novinky.php existuje. Index.php má includovat $stranka, ale v tom indexu je i menu... Ty novinky.php se vloží někde do prostřed...

=====

Díky za tip :-)
<HTML><i>RewriteRule ^/novinky/$ %{DOCUMENT_ROOT}/index.php?stranka=novinky</i><br>

zkus to bez toho DOCUMENT_ROOT

RewriteRule ^/novinky/$ /index.php?stranka=novinky [L,QSA]</HTML>
Pořád se mi zobrazí pouze novinky.php :( Už vážně nevím co s tím mám dělat :-(
<HTML>Nemáš tam náhodou opravdový adresář, co se jmenuje novinky?
Zápis, který funguje mně:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?page=$1 [L,QSA]

Když napíšu example.com/kontakt, tak se mi ve skutečnosti zobrazí example.com/index.php?page=kontakt, přičemž v adresním řádku zůstane example.com/kontakt.</HTML>
Pokud neexistuje adresar novinky (jak pise Thalia), tak bych fakt zacal hledat znova chybu v souboru index.php u include, protoze rewriterule je v poradku ..


=Pavel=
MT: Nepsal jsi nikde jake pouzias direktivy, ale jestli pouzivas R at uz s jakymkoliv cislem, tak prohlizec tyto smerovani cachuje a tudiz bez vymazani vyrovnivaci pameti to muze delat stejne "chyby" ... (ale to bylo fakt MT.. nepredpokladam pouzivani R direktiv u tohohle typu rewrite :))
Zde je celý obsah mého .htaccess:


php_value memory_limit 32M
php_flag magic_quotes_gpc off
php_flag display_errors off
Options +Indexes
Options +FollowSymlinks
ErrorDocument 404 example.net

RewriteEngine On

RewriteRule novinky/ index.php?stranka=novinky



A zde část kódu, která vkládá $stránka:


if (isset($stranka)) {
$pole=array(
'novinky'=>'novinky.php',
'registrace'=>'registrace.php',
);


$try=$pole[$_GET['stranka']];
if($try==NULL)
echo "<center>Naplatná hodnost</center>";
else
require_once $pole[$_GET['stranka']];
}

else {
include("novinky.php");
}




Ví někdo kde je chyba?
<HTML>Zkus
RewriteRule ^novinky$ /index.php?stranka=novinky [L,QSA]
tedy lomítko před index.php.</HTML>
<HTML>Ale jak víš, že se to přeci jen nezobrazuje správně? Když to testuješ na stránce, která se zároveň vkládá, pokud není správně nastaveno $stranka?
Když tam dáš
RewriteRule ^registrace$ /index.php?stranka=registrace [L,QSA]
a zadáš example.com/registrace, tak se stane co?</HTML>
$pole=array(
'novinky'=>'novinky.php',
'registrace'=>'registrace.php',
);
za posledním prvkem se nedělá čárka.

if($try==NULL)
"null" je zástupná hodnota pro proměnnou bez hodnoty. Sice si tím nejsem jistej, ale asi by se v tohle případě měly používat tři rovnítka (===).
=Pavel=
K nalezeni reseni (teda kde je chyba) povede nejlepe takova cesta, kdyz nebudes nacitat novinky.php i kdyz neni zadna hodnota ..
treba proste jenom dej vypis aktualni hodnoty $_GET['stranka'], pak zjistis jako dostava/resp. nedostava hodnotu ;)

=Tom=
S tema 3 rovnitkama (===) mas imho pravdu :)
Ja bych to ale stejne resil jinak:
if(isset($pole[$_GET['stranka']]))){
...
}