1

我想要这些 URL 重定向/转发:

here.com/foo    ==> there.com/a/b
here.com/foobar ==> there.com/c/d

我有这两个 .htaccess RewriteRule 行:

RewriteRule ^foo$    http://there.com/a/b [R=301,L] 
RewriteRule ^foobar$ http://there.com/c/d [R=301,L]

但结果是:

here.com/foo    ==> there.com/a/b
here.com/foobar ==> there.com/a/b

foo也匹配foobar 我如何使它工作?

4

1 回答 1

1

这是一个浏览器缓存问题。我最初的规则是错误的。我将规则更改为上面列出的规则,但是因为我使用的是 HTTP 状态代码 301(永久移动),所以浏览器正在缓存它并且没有从服务器获取新请求。我尝试了 Chrome 隐身窗口并发现了问题。

请注意,将 HTTP 状态代码设置为 303(请参阅其他)会导致浏览器不缓存它。

于 2012-07-06T07:35:35.290 回答