1

我在 .htaccess 中编写了一个错误的 301 重定向

由于它是永久性的,我的浏览器/代理总是将我重定向到错误地址,即使我在 .htaccess 中更改了重定向位置地址

我怎样才能摆脱这个旧的/错误的 301 重定向?

设置很清楚:我知道如何在 .htacces 中使用 mod_rewrite 进行 301。我想取消 301

4

2 回答 2

1

这不取决于您的服务器配置,因为浏览器/代理决定查询您的网页或使用缓存的重定向。您应该只清理(或关闭)您正在谈论的浏览器/代理中的缓存。如果您不能这样做,请等到缓存超时(取决于代理设置)到期。

于 2012-05-11T16:25:05.430 回答
1

它可以htaccessmod_redirectand来完成mod_header

神奇的是,您可以[E]在 Rewrite 中使用修饰符设置环境变量,如果设置了环境变量,则设置非缓存标头。

这是代码

RewriteCond %{HTTP_HOST} !^mark\.koli\.ch [NC]
## the [E=nocache:1] modifier sets the environment variable "nocache"
RewriteRule ^/(.*)$ http://mark.koli.ch/$1 [R=301,L,E=nocache:1]

## Set the response header if the "nocache" environment variable is set
## in the RewriteRule above.
Header always set Cache-Control "no-store, no-cache, must-revalidate" env=nocache

## Set Expires too ...
Header always set Expires "Thu, 01 Jan 1970 00:00:00 GMT" env=nocache

在他的博客条目中向Mark S. Kolich 致敬

当然,这应该在重定向发生之前完成。因此,在此之后,每个 301 重定向都不会被缓存,并且可以在没有模糊的情况下进行更改。

也许甚至可以通过apache_setenv使用 PHP 设置环境变量。

于 2014-05-07T07:53:26.287 回答