Autor Zpráva
ssssa
Profil *
Dobrý den, mám problém s mod_rewritem, konkrétně se změnou dynamické adresy na statickou:

RewriteRule ^(.*)\.html$ %{DOCUMENT_ROOT}/index.php?url=$1 [L,QSA]


Ploblém je, že všechny adresy se zobrazí jako index.php?url=adresa a to i když neexistují. Nedalo by se nějak definovat, které se mají zobrazit a které ne? Například z db... Děkuji předem a omlouvám se za triviální otázku.
AM_
Profil
To už si musíš ošetřit v PHP, Apache se ti k databázi připojovat nebude.
ssssa
Profil *
Mám ještě jeden dotaz, když se výraz url nenachází v db (kde se to pomocí výrazu LIKE 'url' kontroluje), chci to přesměrovat na stránku 404.php s chybovou hláškou. Ví někdo jak?
joe
Profil
header("Location: http://...../error.php");
ssssa
Profil *
To jsem zkoušel, ale to naběhne ta stránka 404.php... Já potřebuju aby byla adresa pořád http://neco.cz/spatny-vyraz.html, ale naběhla by se 404ka (jako normálně).
joe
Profil
Tak pak budeš mít v podmínce - v else (tedy pokud se nic nenajde) aby se načetla chybová hláška z nějakého souboru nebo ji tam přímo vypsat, v čem je problém?
AM_
Profil
+ nezapomeň poslat header('HTTP/1.0 404 not found'); , např. aby vyhledávače věděly, že tohle nemají indexovat.
ssssa
Profil *
Vyřešeno pomocí include("404.php"); , a kam se má dát ten header ?

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: