Portál AbcLinuxu, 25. října 2025 01:22
RewriteEngine on RewriteBase / Options -Indexes RewriteRule ^obchodne-podmienky$ podmienky.php [L] RewriteRule ^(.*)$ 404.php [L]Mne sa vsak pri kazdom pokuse zobrazi 404.php aj napriek tomu, ze string z url mal byt prepisany podla prvej RewriteRule. Ak poslednu RewriteRule odstranim, prva funguje spravne. Neviete, kde by mohol byt problem? Dakujem.
/obchodne-podmienky se přepíše na /podmienky.php, což je nová adresa, která se vyhodnocuje znova od začátku, tj. procházejí se znova všechna pravidla – a /podmienky.php vyhoví až poslední pravidlo. Podívejte se na dokumenatci příznaku L.
pokud mod_rewrite umí rozlišit mezi požadavkem od prohlížeče a už přeloženým požadavkemUmí. Tedy poud myslíme tu samou věc. Stačí na začátek přidat pravidlo:
# mod_rewrite
RewriteEngine On
# stop if already redirected
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule ^ - [L]
...
.htaccess vypadá?
RewriteEngine on
Options +FollowSymlinks
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule ^ - [L]
RewriteBase /
RewriteRule ^obchodne-podmienky$ podmienky.php [L]
Stale vsak dokazem pristupit k skriptu podmienky.php pomocou url.
.php, jinak vám server bude 404 odpovídat i na obrázky, skripty, styly atd.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.