2011-10-12 254 views
16

我想调试一个.htaccess文件。 FireFox保持缓存重定向,我无法绕过它们。通常我会按Ctrl + F5,但因为它已经将我重定向到另一个页面,只刷新我发送的页面,而不是我输入的URL。有没有办法强制刷新一个url?Apache - 如何禁用浏览器缓存,同时调试htaccess

下面是一个例子:

  • 重定向到example.com/hi example.com/hello,测试在Firefox和它的作品
  • 从的.htaccess
  • 类型example.com/删除此行喜在Firefox中,它仍然重定向到example.com/hello
  • 类型example.com/hi在Chrome中,它不会重定向

这就是为什么余吨眨眼这是一个浏览器缓存问题,而不是服务器缓存。

编辑:这似乎是特定于FireFox,快速解决方案是使用Chrome代替。一小时后缓存过期,尝试调试时太长。

回答

11

如果您使用RewriteRule,只需使用R而不是R = 301。出于其他目的,每当您更改重定向时,您都必须清除浏览器缓存。 (如果您不知道如何清除浏览器缓存,请使用Google搜索提供快速简单的答案 - 或随时发表评论,我会帮您解决。)

简而言之,尝试尽可能避免301s,直到你的重定向正常工作。如果无法避免,请准备好定期清除浏览器缓存。

+0

我不认为这真的回答了这个问题,我遇到了与Firefox相同的问题,它似乎缓存了htaccess文件,但无论我清除了多少次缓存,它都不会使用我的最新版本进行刷新。目前的解决方案是使用Chrome。 –

+2

浏览器不缓存.htaccess文件(因为他们从来没有看到它们),但他们做缓存重定向。绝对没有理由适当的302重定向不应该按预期工作,除非这实际上是一个Firefox错误(在这种情况下,你应该与他们一起提交一张票)。 –

+0

实际需要301时,将其暂时更改为302可能会在您完成测试时被遗忘。此外,清除浏览器缓存完全可能。 – Lode

0

更好尝试刷新我的缓存无数次,我决定以清除饼干我的网站后,我不知道为什么或如何而是清除它适合我。也许这是Magento特有的,但可能更一般。

3

在谷歌浏览器,使用 “隐身” 模式下打开一个新的标签:

CTRL-SHIFT-N

调试非常有用的。

10

清除Firefox的网络缓存适用于我。也适用于301重定向。

首选项/选项>高级>网络>缓存的网页内容。

Clear network cache in Firefox preferences

https://support.mozilla.org/en-US/kb/how-clear-firefox-cache

+0

非常感谢,为我效劳 –

+0

这也适用于我。我们在.htaccess文件中犯了一个错误,并在循环中得到了301。 Chrome立即看到了变化,但FF没有。说它不缓存.htaccess文件是正确的,但FF似乎得到它的内裤扭曲。 –

1

我认为这是值得权衡这里,以防万一我的经验可以帮助任何人。我经常在本地机器上的开发和生产分支之间来回切换。开发分支是我的本地环境,生产分支是为我的远程服务器。这两个环境之间的唯一区别是.htaccess文件。我的远程服务器时,需要在有人重写规则的URL之前不会进入“WWW”:

# If www is missing from the beginning of the URL 
RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] 

然而,这种重写规则不适合我的地方的环境中工作,因为URL的结构。所以在我的本地版本的.htaccess中,我注释掉了重写规则。

我注意到的是,Chrome似乎并没有去我的本地服务器获取最新的.htaccess文件。这显然缓存重写,因为当我从我的分公司生产切换到我的开发分支我得到的东西看起来是这样的:

www.www-local.myurl.local 

如果我使用Safari浏览器,我得到了正确的网址:

www-local.myurl.local 

为了解决这个Chrome问题,我去了Developer Tools> Settings> General>并选中“Disable cache(DevTools is open)”

这个选中后,我只需打开Dev Tools并重新加载即可获取当前的.htaccess。

3

强制清晰的htaccess /重定向缓存在谷歌浏览器

  1. 进入设置>高级>隐私>清除浏览数据
  2. 选择“网页快照图片和文件”
  3. 点击清除浏览数据

您的页面现在应该加载新的htaccess设置。

0

在Firefox中打开开发人员工具栏选项命令I。然后点击设置(这是一个小齿轮图标)和高级设置旁边打钩勾选禁用HTTP缓存(当工具箱打开时)。这为我做了诡计。