2010-10-27 395 views

回答

3

立即想到的辦法:

RewriteEngine on 
RewriteBase /path/to/your/web/app 
RewriteRule ^Blog$ blog [R=301,L] 
RewriteRule ^Blog/(.*)$ blog/$1 [R=301,L] 

有可能比mod_rewrite的更好的方法,我不是100%肯定的是,外部重定向,將工作,因爲他們應該 - 你可能需要完整的網址 - 但你去了。

2

這是最簡單的.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實現最大的靈活性,但它可能是矯枉過正。

+0

你的第二個例子也會在任何位置匹配'/ blog'。 – Gumbo 2010-10-27 21:06:54

+0

非常正確 - 我很快就打了Add Answer。感謝您指出! REGEX現在已經修復。 – 2010-10-27 21:17:29

+0

的確是這一個是更好的方式我們雖然有送花兒給人著名的: 「有些人,當遇到一個問題,認爲‘我知道,我將使用正則表達式’現在他們有兩個問題。」 – Necronet 2010-10-27 22:01:11