【发布时间】:2020-08-29 09:56:57
【问题描述】:
我的旧.htaccess 将我的网站重定向到www.domain.com。但是,现在我想将我的 .htaccess 更改为其他内容(我这样做了),但我的网站仍然被重定向到 www.domain.com。如果我进入隐身模式,新的.htaccess 可以工作。如何做到这一点,以便清除访问者计算机上的旧 .htaccess 缓存。
我查看了htaccess file somehow being cached?,但我真的不明白这一点,因为我尝试将-MultiViews 添加到我的.htaccess 中。
我的新.htaccess 看起来像这样。我的目标是将所有 URL 重定向到主页。无论您输入什么 URL,它都会进入主页。
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/index.php$
RewriteRule .*\.(php|html)$ /index.php [L,R=302]
-MultiViews
【问题讨论】:
-
您之前的重定向是由
301还是302HTTP 代码进行的? -
@NoahBoegli 老实说我不记得了......我认为这是一个永久的
-
".htaccess" 样式文件是“分布式配置文件”。它们中没有缓存,它们包含配置。当然,客户端可能会缓存请求。但这不是您的配置可以更改的之后。如果客户端已经缓存了上一个请求的结果,它甚至不会向您的服务器发送请求。
-
@arkascha 这个缓存会过期吗?
-
缓存本身没有时长限制,但受容量限制:浏览器为此预留了一定的磁盘空间。因此,浏览器缓存的越多,条目更新的速度就越快。然而,更重要的是,所有浏览器在交付对象时都将遵循服务器发送的 http 标头。这些标头可以命名缓存持续时间,因此取决于您的服务器告诉客户端缓存内容的持续时间。非关键性事件的典型值为 30 天,因为更改内容通常会抑制缓存。