Portál AbcLinuxu, 8. května 2025 00:18

Dotaz: Problemy s .htaccess

13.8.2010 10:18 anonymous
Problemy s .htaccess
Přečteno: 463×
Odpovědět | Admin
Dobry den,

mam problem s .htaccess. Na kazdy riadok som nadefinoval podmienku, pri ktorej sa ma pouzit mod_rewrite a na koniec podmienky pridal [L], co by malo zabranit vykonavaniu dalsich podmienok v .htaccess. Na koniec suboru som pridal regexp, ktory splnuje kazdy string a tym chcem zabranit priamemu pristupu k jednotlivym skriptom. Zjednodusena ukazka .htaccess:
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.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

13.8.2010 10:46 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Problemy s .htaccess
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tahle pravidla znamenají, že /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.
13.8.2010 12:57 anonymous
Rozbalit Rozbalit vše Re: Problemy s .htaccess
Aha, To som nevedel. Ako docielim, aby sa neslo 2x, pripadne aby som nedovolil pristupovat priamo ku skriptom z url?

dik
13.8.2010 15:24 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Problemy s .htaccess
Šlo by to jedině v případě, pokud mod_rewrite umí rozlišit mezi požadavkem od prohlížeče a už přeloženým požadavkem – já jsem takovou možnost nenašel. Ale ponechat přístup přímo ke skriptům by nemělo ničemu vadit. Když ty adresy nebudete nikde odkazovat, nikdo je nebude znát, a i kdyby je někdo uhodl, ničemu to nevadí.
13.8.2010 16:00 VSi | skóre: 28
Rozbalit Rozbalit vše Re: Problemy s .htaccess
pokud mod_rewrite umí rozlišit mezi požadavkem od prohlížeče a už přeloženým požadavkem
Umí. 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]

  ...
13.8.2010 17:06 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Problemy s .htaccess
Po troše googlení bych řekl, že máte pravdu. Akorát by mne zajímalo, kde se o tom, že mod_rewrite nastavuje tuto proměnnou prostředí, dá dočíst v dokumentaci…
13.8.2010 17:24 VSi | skóre: 28
Rozbalit Rozbalit vše Re: Problemy s .htaccess
Já to v dokumentaci taky nikde nenašel. Možná ji nastavuje Apache mimo mod_rewrite. Tuhle konstrukci mám z nějakého cizího vzoru pro řešení mapování domén 3. úrovně na adresáře, resp. změnu document root, kdy nejde "druhý průchod" přes pravidla omezit jiným způsobem.
14.8.2010 19:10 anonymous
Rozbalit Rozbalit vše Re: Problemy s .htaccess
Dakujem za odpoved. Asi to nebude tak jednoduche, ako som si myslel. Pridal som tieto riadky na zaciatok .htaccess, no nic to nezmenilo. Stale sa dostanem k skriptom pomocou URL.
14.8.2010 19:33 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Problemy s .htaccess
Jak teď váš .htaccess vypadá?
15.8.2010 09:11 anonymous
Rozbalit Rozbalit vše Re: Problemy s .htaccess
Teraz .htaccess vyzera takto:
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.
15.8.2010 10:07 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Problemy s .htaccess
Samozřejmě, nemáte v těch pravidlech nic, co by tomu bránilo. To byste tam musel přidat například ten poslední řádek, který jste měl ve vašem příkladu v dotazu. Ale asi bych ho upravil, aby odpovídal jen skriptům .php, jinak vám server bude 404 odpovídat i na obrázky, skripty, styly atd.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.