Setelah pindah dari blogspot ke platform wp, banyak sekali terdapat 404 not found karena saat di blogspot yang akses via mobile mengghasilkan url yg berbeda. Terdapat penambahan ?m=1 setelah akhir url jika dibuka via mobile.
Cara menghilangkan ?m=1 setelah migrasi blogspot ke wordpress adalah menggunakan htaccess. Banyak sekali versi htaccess untuk menghilangkan ?m=1 disini agak berbeda versi dengan yang banyak dijelaskan pada blog-blog lain. Perbedaannya sebagai berikut:
http://tempatbelajaraku.blogspot.co.id/2016/09/membuat-video-iframe-jadi-responsif.html?m=1
Kebanyakan yang menjelaskan hanya untuk menghilangkan ?m=1 seperti diatas. Namun ternyata banyak sekali 404 not found karena bentuk url nya seperti dibawah ini:
http://tempatbelajaraku.blogspot.co.id/2016/09/membuat-video-iframe-jadi-responsif.html?m=1&qwerty&asdfg
Langsung saja solusinya dengan mengedit htaccess pada wordpress menjadi:
<IfModule mod_rewrite.c>RewriteEngine OnRewriteCond %{QUERY_STRING} .RewriteCond %{QUERY_STRING} !^(s|p)=.*RewriteCond %{REQUEST_URI} !.*wp-admin.*RewriteRule .* http://www.domainmu.com%{REQUEST_URI}? [R=301,L]</IfModule>
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Yang berwarna merah diatas adalah tambahan htaccess, yang dibawah adalah standar htaccess wordpress. Untuk redirect feed, search dan label, dapat menambahkan:
RewriteRule atom.xml feed/atom/ [L,R=301]
RewriteRule feeds/posts/default feed/atom/ [L,R=301]
#RSS FEEDS
RewriteRule feeds/posts/default?alt=rss feed/ [L,R=301]
RewriteRule rss.xml feed/ [L,R=301]
#Search
Redirect 301 /search/label http://www.domainmu.com/category
Redirect 301 /search http://www.domainmu.com
Terkadang ada juga url not found yang seperti dibawah ini:
http://tempatbelajaraku.blogspot.co.id/mobile/2016/09/membuat-video-iframe-jadi-responsif.html
http://tempatbelajaraku.blogspot.co.id/m/2016/09/membuat-video-iframe-jadi-responsif.html
htaccess bisa ditambahkan:
RewriteRule ^mobile/(.*)$ /$1 [L,R=301]
RewriteRule ^m/(.*)$ /$1 [L,R=301]
Jangan lupa seting permalink wordpressnya menggunakan custom structure /%year%/%monthnum%/%postname%.html
Jadi htaccess keseluruhannya adalah sebagai berikut:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule atom.xml feed/atom/ [L,R=301]
RewriteRule feeds/posts/default feed/atom/ [L,R=301]
#RSS FEEDS
RewriteRule feeds/posts/default?alt=rss feed/ [L,R=301]
RewriteRule rss.xml feed/ [L,R=301]
Redirect 301 /search/label http://www.domainmu.com/category
Redirect 301 /search http://www.domainmu.com
RewriteRule ^mobile/(.*)$ /$1 [L,R=301]
RewriteRule ^m/(.*)$ /$1 [L,R=301]
RewriteCond %{QUERY_STRING} .
RewriteCond %{QUERY_STRING} !^(s|p)=.*
RewriteCond %{REQUEST_URI} !.*wp-admin.*
RewriteRule .* http://www.domainmu.com%{REQUEST_URI}? [R=301,L]
</IfModule>
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Mohon maaf jika ada kesalahan, blog ini hanya catatan pribadi dari tiap permasalahan blogging yang saya hadapi.