Portál AbcLinuxu, 8. května 2025 00:18
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.