2011-09-25, 03:18:33
Yes, thank you, I missed the .htaccess part completely.
One more suggestion, it's easy to implement.
It has to do with having all pages in default language displayed without the language prefix while translated versions of those pages do get the language prefix
This is useful for me, because I already have my pages without the language indexed on google, and adding the same pages with language prefix would probably penalize my rank because of having duplicate content (multiple URLs resolving to the sam content page).
One more suggestion, it's easy to implement.
It has to do with having all pages in default language displayed without the language prefix while translated versions of those pages do get the language prefix
Code:
$deflang = return_i18n_default_language();
if ($lang != $deflang) {
$plink = str_replace('%language%', $lang, $PERMALINK_ORIG);
} else {
$plink = str_replace('%language%/', '', $PERMALINK_ORIG);
}
This is useful for me, because I already have my pages without the language indexed on google, and adding the same pages with language prefix would probably penalize my rank because of having duplicate content (multiple URLs resolving to the sam content page).
mvlcek Wrote:dizarter Wrote:Thanks for the fix, but, switching languages on the index page still doesn't work.
You are probably missing a rule in .htaccess. Try this:
or that:Code:RewriteRule ^/?$ en/ [R,L] # redirect to language of your choice
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(en|de)/(.*?/)?([A-Za-z0-9_-]+)/?$ index.php?id=$3&lang=$1 [QSA,L]
RewriteRule ^(en|de)/?$ index.php?lang=$1 [QSA,L] # handle index page without 'index'
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule /?([A-Za-z0-9_-]+)/?$ index.php?id=$1 [QSA,L]
Code:RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^/?$ en/ [R,L] # redirect to language of your choice
RewriteRule ^(en|de)/(.*)$ $2?lang=$1 [QSA,DPI] # replace with your languages
RewriteRule ^(.*);(\d+)([^\d/][^/]*)?/?$ $1$3?page=$2 [QSA,DPI] # for use with pagify plugin
RewriteRule /?([A-Za-z0-9_-]+)/?$ index.php?id=$1 [QSA,L]
RewriteRule ^ index.php [L] # for everything else show home page
dizarter Wrote:Now, another question - how to make visiting example.com auto-redirect to example.com/de/index?
See the examples above.