【发布时间】:2016-11-12 05:56:00
【问题描述】:
这快把我逼疯了。
我一直在这个新安装的服务器上为自定义 URL 使用 URL 重写,但似乎我在 htaccess 中编写的任何 URL 重写规则都将永远被考虑到......
例子:
RewriteRule ^dashboard/calendar/$ /calendar.php [QSA,L]
即使我删除该行,Apache 仍然会考虑它。
即使我删除 .htaccess,仍然会应用幽灵内容...我假设某处有某种缓存;如何关闭它..??..
谢谢!
【问题讨论】:
-
通常,重新启动 apache 就足以清除所有缓存的配置。您确定 .htaccess 是您定义该规则的唯一位置吗?另外,请仔细检查您和 apache 服务器之间可能存在的任何其他缓存配置/代理/等
-
我重新启动了 Apache,我什至重新启动了整个机器。是的,我只使用了 1 个 .htaccess。没有其他可能的缓存配置,因为其中一条规则有 (.*),我可以生成新的 URL,仍然可以让我访问旧页面。所以这绝对是服务器端问题:(
-
您是否也刷新了浏览器缓存?虽然不应该是这样,因为默认重定向发生在非永久代码中,所以浏览器应该重复请求。
-
是的 .. 它可能是浏览器 .. 或代理缓存。请检查响应标头(查找带有“缓存”的标头)。如果你有 Firefox 的 Firebug——那么在“Net”面板上你可以告诉它也显示缓存的响应(或使用 httpFox 扩展)。
-
不是浏览器。我使用了不同的浏览器,甚至使用了来自不同 ISP 的不同计算机。这绝对是 Apache 的问题。响应为 200。我通过创建一个带有新目录的新 VHost 来“解决”了这个问题,它的行为不像旧的那样,但这个问题仍然是一个谜。显然还有一些人和我有同样的问题。
标签: apache .htaccess url-rewriting