i try to look on stackoverflow but i can't find my answer.
so i need to find out which domain which sub-domain the user is and which page is loading.
eg: en.domain.com/contactus
this should load the english contact us page.
what i have is:
RewriteCond %{HTTP_HOST} ^(www\.)?domain.com$ [NC]
RewriteRule ^(.*)$ index.php?lang=en&page=$1 [L,NC]
RewriteCond %{HTTP_HOST} ^en.domain.com$ [NC]
RewriteRule ^(.*)$ index.php?lang=en&page=$1 [L,NC]
RewriteCond %{HTTP_HOST} ^fr.domain.com$ [NC]
RewriteRule ^(.*)$ index.php?lang=fr&page=$1 [L,NC]
#etc...
but for some reason when i echo the get for page, the value is : index.php so i cannot read the page.
Here's what you should use:
RewriteEngine On
RewriteBase /
SetEnvIf Host ^www\. lang=en
SetEnvIf Host ^en\. lang=en
SetEnvIf Host ^fr\. lang=fr
RewriteCond %{REQUEST_URI} !\.(css|png|gif|jpe?g|js)$ [NC]
RewriteRule ^([a-z0-9_\-]+)/?$ index.php?lang=%{ENV:lang}&page=$1 [L,NC,QSA]
The %{ENV:lang}
will be read from the SetEnvIf
(from the sub-domain) and set the correct language you will get from $_GET['lang'];
(in your PHP code - assuming it's PHP)
This way, any of the sub-domain will be dynamically loaded without creating rules over and over for sub-domain. I also added a rule that prevent loading images or JavaScript as page.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With