Skip to main content

.htaccess page and lang error


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.


Source: Tips4allCCNA FINAL EXAM

Comments

  1. 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.

    ReplyDelete

Post a Comment

Popular posts from this blog

Slow Android emulator

I have a 2.67 GHz Celeron processor, 1.21 GB of RAM on a x86 Windows XP Professional machine. My understanding is that the Android emulator should start fairly quickly on such a machine, but for me it does not. I have followed all instructions in setting up the IDE, SDKs, JDKs and such and have had some success in staring the emulator quickly but is very particulary. How can I, if possible, fix this problem?