2011-12-23 7 views
17

मैं स्टैक ओवरफ्लो को देखने का प्रयास करता हूं लेकिन मुझे अपना जवाब नहीं मिल रहा है।.htaccess पेज और लैंग त्रुटि

इसलिए मुझे यह पता लगाना होगा कि कौन सा डोमेन उपयोगकर्ता उप-डोमेन है और कौन सा पृष्ठ लोड हो रहा है।

जैसे: en.domain.com/contactus

इस अंग्रेज़ी हमसे संपर्क पेज लोड करना चाहिए।

मैं क्या है:

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

लेकिन किसी कारण से जब मैं गूंज पेज के लिए मिलता है, मान है: तो मैं पेज नहीं पढ़ सकते हैं index.php।

उत्तर

18

यहाँ आप क्या उपयोग करना चाहिए:

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] 

%{ENV:lang}SetEnvIf से पढ़ा जाएगा (सब-डोमेन से) और (सही भाषा आप $_GET['lang']; से मिलेगा सेट अपने PHP कोड में - यह सोचते हैं यह है PHP)

इस प्रकार, उप-डोमेन के लिए नियमों को बनाए बिना नियमों के बिना उप-डोमेन को गतिशील रूप से लोड किया जाएगा। मैंने एक नियम भी जोड़ा जो छवियों या जावास्क्रिप्ट को पृष्ठ के रूप में लोड करने से रोकता है।

+0

आपको बहुत धन्यवाद, मैं कुछ चीज बदलता हूं लेकिन यह काम सही है। – goblar

+0

आपका स्वागत है, खुशी है कि मैं मदद कर सकता हूं, धन्यवाद –

+4

+1 setenvif का उपयोग करने के लिए – Tech4Wilco

संबंधित मुद्दे