2013-01-31 110 views
8

我有一个由其他人托管的网站,所有的网页都是.html文件。我现在主持该网站,并将其更改为wordpress网站。域没有改变,但显然所有的页面都有。将所有.html页面重定向到主要网址的最佳方式是什么?301重定向vs重写

回答

7

301 Redirect.htaccess不需要mod_rewrite库。这是一种更简单的重定向方式,但它没有使用重写规则的灵活性和强大功能。如果你有一个1-1映射有明确的网址,你可以使用重定向:

Redirect 301 /path/file.html http://new.site.com/newpath.php 

如果你试图做一些使用正则表达式类似模式的通配符匹配,您需要使用重写。

RewriteRule ^(.*).html$ http://new.site.com/$1.php [R=301,NC,L] 

这里有2种方法一个很好的概述:http://www.ksl-consulting.co.uk/301-redirect-examples.html

+1

如果我想重定向WWW和非WWW版本,该怎么办?我可以在没有RewriteRule或mod_rewrite库的情况下执行此操作吗? –

+0

@Boris_yo不,你需要重写条件,如果你想赶上协议http与https – Ray

+0

不是一个协议,但WWW和非WWW –

0

还有RedirectMatch也不会使用正则表达式类似模式的通配符匹配。选择取决于你需要做什么。

重写是复杂的 - 学习曲线 - 但你可以提供替代的网址,而无需提供HTML代码和看起来不可行的东西。但随着巨大的力量来复杂和大量的错误。

如果你只是做一个简单的重定向 - 可能匹配一些URL - 重定向是要走的路。

当您无法使用重定向时,您可能会想要开始学习Mod_Rewrite。

+0

Can你在答案中显示了一些示例代码? –