htaccess url重写(没有301!),但重复的内容

时间:2012-12-12 02:42:13

标签: file .htaccess duplicates

我有一个名为“abc.html”的文件。在过去,这被称为“abc.cfm”。从局外人的角度来看,我希望它看起来像abc.cfm仍然存在(它应该是abc.html的内容)。

目前我的htaccess中有这个:     RewriteRule ^ abc.cfm $ abc.html [L]

这完美无缺。每当你去abc.cfm时,它会显示abc.html的内容,以及重定向(来自用户的POV)。

问题是我现在也可以访问abc.html,这是重复的内容。我可以通过添加规范说abc.cfm是原始URL来解决这个问题。我只是想知道是否有可能从html到cfm文件(内部再次调用html)的301。当然没有进入无限循环: - )

我也愿意接受其他解决方案。 (但我无法更改指向abc.cfm文件的链接,我不希望301重定向到abc.html文件)

1 个答案:

答案 0 :(得分:0)

Redirect 301 /abc.html /abc.cfm

将此行放在RewriteEngine on指令之前。

如果您想在mod_rewrite中执行此操作,则可以使用以下代码:

RewriteRule ^abc.html$ abc.cfm [R=301, L]

这将强制用户的浏览器只能请求.cfm页面,而在内部服务器知道从.html页面获取内容。此规则需要在上面列出的内部重写规则之前,但在RewriteEngine on指令之后。