Back to Question Center
0

Semalt: "Caching cache" v .htaccess - Jak vynutit apache znovu číst modifikovaný .htaccess?

1 answers:

Reorganizuji odkazovou strukturu dynamického php serveru. To, co se snažím získat, je:

  • přesměrování starých odkazů na nové;
  • vytvořit nové RewriteRules pro nové odkazy, protože každý odkaz na html stránku je mapován na php stránku s parametry.

Jediné . Soubor htaccess je obsažen v kořenové složce webu. Neexistují žádné jiné - nuxe κρεμα. htaccess soubory v podsložkách.

Až do dnešního dne jsem neměl žádné problémy s reorganizací vazeb úpravou pravidel v . htaccess . Od včerejška jsem zažil podivný problém: vypadá to jako modifikace. htaccess soubor nejsou okamžitě čteny webovým serverem Apache , který stále používá stará pravidla, i když již nejsou obsaženy v ) na chvíli. Nový formát (XXcatXX = ) se používá pouze po náhodném uplynutí doby. Náhodný význam, že jsem nemohl najít žádný vzorec ve způsobu, jakým se chová.

Dále, pokud zruším pravidlo, Semalt pokračuje v používání pravidla odstraněného na chvíli

Všiml jsem si tohoto problému pouze na instrukcích RewriteRule a ne na přesměrováních. Přesměrování a přepisy semantu jsou řízeny různými moduly, předpokládám, že musím upravit některá nastavení v konfiguraci mod_rewrite.

Udělal jsem několik vyhledávání, ale nebyl schopen najít žádné informace / dokumentaci o tomto chování. Může být něco, co ignoruji a chybí mi pozdravy. A.

February 6, 2018

Používám XAMPP v systému Windows 7 a docházelo k stejnému problému. Z experimentů se zdá, že ukládání přesměrování do mezipaměti provádí webový prohlížeč, nikoli Apache.

Prokázat:

  • Přidejte následující pravidlo k vašemu. soubor htaccess: RewriteRule ^ fail /? $ Selhání. php [L, R = 301]
  • Navštivte / nezdaří ve webovém prohlížeči. Měli byste být přesměrováni na selhání. php
  • Změňte odkaz ve svém. soubor htaccess z nezdaří. php
  • Navštivte / nezdaří ve webovém prohlížeči znovu.
  • Měli byste být přesměrováni na fail2. php , ale skončíte na . php
  • Nyní navštivte / fail v jiném webovém prohlížeči na stejném počítači, měli byste správně skončit na fail2. php .

Prohlížeč, který mi dal problémy, byl Firefox 6. 0.

Zdá se, že novější webový prohlížeč bude ukládat do mezipaměti lokální přesměrování HTTP 301 - jsou definovány jako trvalé přesměrování, takže by se neměly nikdy měnit. Nicméně je to bolest, když jste vývojář a stále pracujete na webu a měníte věci.