.htaccess 設定轉址,因新網址有含錨點(anchor)發生404錯誤
昨日收到Google Search Console每月報表,得知舊網站有部份網頁仍會被外部搜尋到,產生流量,需做301轉址到新網站,原以為參考先前寫過的轉址規則可以很快的「打完收工」,沒想到轉址後卻發生404錯誤。 原因出在新網址包含了錨點(#),經由轉址後「#」變成了「%23」,導致發生網頁不存在的404錯誤。 後來找到 mod_rewrite with anchor link 這篇文章,發現在 RewriteRule Flags 加上NE就可以確保#正常的呈現。