301重定向.htaccess
答
立即想到的办法:
RewriteEngine on
RewriteBase /path/to/your/web/app
RewriteRule ^Blog$ blog [R=301,L]
RewriteRule ^Blog/(.*)$ blog/$1 [R=301,L]
有可能比mod_rewrite的更好的方法,我不是100%肯定的是,外部重定向,将工作,因为他们应该 - 你可能需要完整的网址 - 但你去了。
答
这是最简单的.htaccess解决方案,将其放置在/.htaccess:
Redirect 301 /Blog /blog
但它确实有限。如果你想抓住每一个可能的案例明智的拼写错误,并转发任何其他路径信息(如/Blog/foo/bar.html),用这个来代替:
RedirectMatch 301 ^/[Bb][Ll][Oo][Gg](?<!blog)(/.*)?$ /blog$1
对于更多的选择,也有full .htaccess generators可用。
或者你可以使用ModRewrite-based rules实现最大的灵活性,但它可能是矫枉过正。
你的第二个例子也会在任何位置匹配'/ blog'。 – Gumbo 2010-10-27 21:06:54
非常正确 - 我很快就打了Add Answer。感谢您指出! REGEX现在已经修复。 – 2010-10-27 21:17:29
的确是这一个是更好的方式我们虽然有送花儿给人著名的: “有些人,当遇到一个问题,认为‘我知道,我将使用正则表达式’现在他们有两个问题。” – Necronet 2010-10-27 22:01:11