Autor | Zpráva | ||
---|---|---|---|
ssssa Profil * |
#1 · Zasláno: 12. 4. 2009, 10:26:41
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 |
#2 · Zasláno: 12. 4. 2009, 11:17:59
To už si musíš ošetřit v PHP, Apache se ti k databázi připojovat nebude.
|
||
ssssa Profil * |
#3 · Zasláno: 12. 4. 2009, 22:14:45
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 |
#4 · Zasláno: 12. 4. 2009, 22:16:59 · Upravil/a: joe
header("Location: http://...../error.php"); |
||
ssssa Profil * |
#5 · Zasláno: 12. 4. 2009, 22:24:10
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 |
#6 · Zasláno: 12. 4. 2009, 23:10:28
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 |
#7 · Zasláno: 13. 4. 2009, 00:22:30
+ nezapomeň poslat header('HTTP/1.0 404 not found'); , např. aby vyhledávače věděly, že tohle nemají indexovat.
|
||
ssssa Profil * |
#8 · Zasláno: 13. 4. 2009, 10:38:02
Vyřešeno pomocí include("404.php"); , a kam se má dát ten header ?
|
||
Časová prodleva: 15 let
|
0