我有一个名为“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文件)
答案 0 :(得分:0)
Redirect 301 /abc.html /abc.cfm
将此行放在RewriteEngine on
指令之前。
如果您想在mod_rewrite中执行此操作,则可以使用以下代码:
RewriteRule ^abc.html$ abc.cfm [R=301, L]
这将强制用户的浏览器只能请求.cfm页面,而在内部服务器知道从.html页面获取内容。此规则需要在上面列出的内部重写规则之前,但在RewriteEngine on
指令之后。