WordPress multilingual site (qTranslate) and htaccess

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.

Read More

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]

Related posts

Leave a Reply

1 comment