Site icon Mostly Harmless

.htaccess fix for machine translation

The current version of ATPP is 5.1 and it works really well. But occasionally I get speed bumps from Babelfish and Google translation engines so I end up turning it off for a while.

Without the plugin, when someone goes to the translated version of a posting, they get redirected to the home page.

For example the German pages for Andre’s trip to Disneyland is

http://blog.dembowski.net/2008/01/30/andres-trip-to-disneyland/de/

When I turn off the plugin users get sent to

http://blog.dembowski.net/

Here is where .htaccess comes to the rescue. By adding lines at the top of my .htaccess file I can send the request for a translated post to the English version:

RewriteRule ^de/ http://blog.dembowski.net/ [R=302,L]
RewriteRule ^zh/ http://blog.dembowski.net/ [R=302,L]
RewriteRule ^ko/ http://blog.dembowski.net/ [R=302,L]
RewriteRule ^ja/ http://blog.dembowski.net/ [R=302,L]
RewriteRule ^pt/ http://blog.dembowski.net/ [R=302,L]
RewriteRule ^it/ http://blog.dembowski.net/ [R=302,L]
RewriteRule ^es/ http://blog.dembowski.net/ [R=302,L]
RewriteRule ^(.*)/de/ http://blog.dembowski.net/$1/ [R=302,L]
RewriteRule ^(.*)/zh/ http://blog.dembowski.net/$1/ [R=302,L]
RewriteRule ^(.*)/ko/ http://blog.dembowski.net/$1/ [R=302,L]
RewriteRule ^(.*)/ja/ http://blog.dembowski.net/$1/ [R=302,L]
RewriteRule ^(.*)/pt/ http://blog.dembowski.net/$1/ [R=302,L]
RewriteRule ^(.*)/it/ http://blog.dembowski.net/$1/ [R=302,L]
RewriteRule ^(.*)/es/ http://blog.dembowski.net/$1/ [R=302,L]

The request from /some/url/here/de/ results in the Apache server sending back a 302 temporarily moved to the same URL minus the two letter language code.

If I have to turn off the ATPP plugin for an extended time, I can do so knowing that search engine visitors will still find the original post.

Update: added portion for languages off of the root i.e. http://blog.dembowski.net/es/ becomes http://blog.dembowski.net/

Exit mobile version