I’ve made a multilingual site with WordPress/qTranslate (french and english) using https.
Addresses are https://site.com/ (default in french) and https://site.com/en
When I switch from french to english (with the flag), homepage is well displayed in english and address in address-bar is well site.com/en. If I switch back to french (with the flag), the address become site.com/fr . Everything seems working.
But when I play with the menu, everything is OK in french but not in english. My first item in the menu is “home” and his link is site.com/en . When I click on it, the homepage goes back to site.com/ (homepage in french). The problem is the same with all other pages. May be, there is a problem with my .htaccess.
What I wish is to always have language in the address (even in french) and use this language when I open other page in my webiste.
My htaccess :
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]
# add a trailing slash to /wp-admin
RewriteRule ^/([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*.php)$ $2 [L]
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://site.com/$1 [R,L]
It is very late but for the record and for anyone stopping by here I am adding this. The discussion might open insights for those who were unaware at some piont.
Difference-between-bloginfohome-and-home-url-and-site-url I had similar problem as yours when I had been working with multilingual wordpress based upon qTranslate. Here’s how I solved it.