2014-01-21 72 views
1

我不太瞭解.htaccess,但我試圖幫助最近將他的博客移動到Wordpress的朋友。重定向,如果一個URL包含這個字符串

我們需要重定向舊存檔頁這樣的:

  • www.domain.com/2010_04_01_archive.html
  • www.domain.com/2010_04_02_archive.html
  • www.domain.com/2010_04_03_archive html的
到新的存檔頁這樣的:
  • www.domain.com/2010/04/01
  • www.domain.com/2010/04/02

  • www.domain.com/2010/04/03
我用盡了一切我能找到使用htaccess的重定向和重寫,但同樣,我真的不知道我與htaccess的做!

非常感謝您的幫助, 阿曼達

OK嘗試這樣做:

打開了mod_rewrite上

RewriteEngine敘述在 重寫規則^([0-9] {4})([ 0-9] {2})([0-9] {2})_ archive.html $/$ 1/$ 2/$ 3 [L,R = 301]

in .htaccess in the top level level folder我的網站。但是,當我轉到http://www.bikermetric.com/2010_04_01_archive.html時,它不會重定向。

只是嘗試這樣做太: RedirectMatch 301^/([0-9] {4})([0-9] {2})([0-9] {2})_ archive.html $/$ 1/$ 2/$ 3

還沒有。

+0

試試這個http://www.htaccessredirect.net/。它可能有幫助。 – spaceman

+1

歡迎來到StackOverflow!如果你在你的問題中包含你已經試過的代碼,你通常會得到更好的迴應。你已經嘗試過了哪些方法無效? – CoderDennis

+0

謝謝太空人,但那隻能讓我做1對1的重定向......好的,謝謝CoderDennis!將從現在開始做。 – user3220614

回答

2

你可以在這裏使用mod_alias或mod_rewrite。你要堅持使用mod_rewrite如果你已經有了重寫規則(東西看起來像RewriteEngineRewriteRule):

mod_alias中:

RedirectMatch 301 ^/([0-9]{4})_([0-9]{2})_([0-9]{2})_archive.html$ /$1/$2/$3 

mod_rewrite的:

RewriteEngine On 
RewriteRule ^([0-9]{4})_([0-9]{2})_([0-9]{2})_archive.html$ /$1/$2/$3 [L,R=301] 

你希望將其添加到文檔根目錄中的htaccess文件

+0

好了! Jon Lin,您的 RedirectMatch 301^/([0-9] {4})_([0-9] {2})_([0-9] {2})_ archive.html $/$ 1/$ 2/$ 3 確實有效。 我刪除了下一級文件夾中的另一個.htaccess文件,並清除了我的瀏覽器緩存。之後,它工作。 感謝您的幫助! – user3220614

相關問題