我正在尝试调试.htaccess文件。 FireFox保持缓存重定向,我无法绕过它们。通常我会按Ctrl + F5,但因为它已经将我重定向到另一个页面,这只是刷新我发送的页面而不是我输入的URL。有没有办法强制刷新网址?
以下是一个例子:
这就是为什么我认为这是一个浏览器缓存问题,而不是服务器缓存。
编辑:这似乎是FireFox特有的,快速解决方案是使用Chrome代替。缓存在一小时后过期,这在尝试调试时太长了。
答案 0 :(得分:14)
如果您使用的是RewriteRule,只需使用R而不是R = 301。出于其他目的,您必须在更改重定向时清除浏览器缓存。 (如果你不知道如何清除浏览器缓存,谷歌搜索方法应该提供一个快速简单的答案 - 或者随意评论,我会帮助你。)
简单地说,尽可能避免使用301s,直到您的重定向正常工作为止。如果您无法避免,请准备好定期清除浏览器缓存。
答案 1 :(得分:10)
清除Firefox的网络缓存对我有用。也适用于301重定向。
偏好/选项>高级>网络>缓存的Web内容。
请参阅https://support.mozilla.org/en-US/kb/how-clear-firefox-cache
答案 2 :(得分:5)
在Google Chrome中,使用以下方式在“隐身”模式下打开新标签页
CTRL-SHIFT-N
非常适合调试。
答案 3 :(得分:5)
强制在 Google Chrome 中强制清除htaccess / redirect缓存:
您的页面现在应该加载新的htaccess设置。
答案 4 :(得分:3)
我认为值得在这里权衡,以防万一我的经验可以帮助任何人。我经常在本地机器上的开发和生产分支之间来回切换。开发分支是我的本地环境,生产分支是我的远程服务器。两种环境之间的唯一区别是.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问题,我转到了开发人员工具>设置>一般>并选中“禁用缓存(当DevTools打开时)”
选中此选项后,我只需要打开Dev Tools并重新加载即可获得当前的.htaccess。
答案 5 :(得分:2)
在Firefox中按选项命令I 打开开发人员工具栏。然后点击设置(它是一个小小的齿轮图标),在高级设置下面勾选禁用HTTP缓存(工具箱打开时)。这对我有用。
答案 6 :(得分:0)
在尝试刷新我的缓存无数次后,我决定清除我的网站的cookie,我不知道为什么或如何,但这清除了我。也许它是Magento特有的东西,但它可能更为通用。
答案 7 :(得分:0)
在Google Chrome浏览器中,打开“开发者工具栏”。然后单击“设置”(这是一个3点图标),然后在“网络”部分下,选中“禁用缓存(打开DevTools时)”。
答案 8 :(得分:0)
在Chrome中,您可以在Developer Tools面板中禁用浏览器缓存
Command+Option+C (Mac) or Control+Shift+C (Windows, Linux, Chrome OS).
答案 9 :(得分:-1)
好吧,您可以使用Firefox插件清除缓存清除您的htaccess缓存。比任何CTRL + R都好。
https://addons.mozilla.org/en-US/firefox/addon/clear-cache-button/