यह बदल जाएगा domain.com
करने के लिए www.domain.com
:
# Force the "www."
RewriteCond %{HTTP_HOST} !^www\.domain\.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
मैं "डोमेन" भाग को कैसे बदलूं ताकि यह किसी भी डोमेन पर काम करे ?
यह बदल जाएगा domain.com
करने के लिए www.domain.com
:
# Force the "www."
RewriteCond %{HTTP_HOST} !^www\.domain\.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
मैं "डोमेन" भाग को कैसे बदलूं ताकि यह किसी भी डोमेन पर काम करे ?
जवाबों:
मैं इस नियम का उपयोग करूंगा:
RewriteEngine On
RewriteCond %{HTTP_HOST} !=""
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
पहली शर्त यह जांचती है कि होस्ट मान रिक्त नहीं है (HTTP / 1.0 के मामले में); दूसरा जाँच करता है कि होस्ट मान के साथ शुरू नहीं होता है www.
; HTTPS के लिए तीसरे चेक ( %{HTTPS}
या तो है on
या off
है, तो %{HTTPS}s
या तो है ons
या offs
और के मामले में मिलान किया जाता है)। तब का प्रतिस्थापन भाग पूर्ण URL में सूचना भागों को मिला देता है।ons
s
RewriteRule
RewriteEngine On
इसे पूरा करने के लिए पहली पंक्ति के रूप में जोड़ूंगा, क्योंकि इससे 500 सर्वर त्रुटि हो सकती है अगर यह कॉपी-पेस्ट किया जाए।
यह यह करेगा:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
यदि आप अपनी साइट के सभी गैर-www अनुरोधों को www संस्करण में पुनर्निर्देशित करना चाहते हैं, तो आपको केवल अपनी .htaccess फ़ाइल में निम्न कोड जोड़ना होगा:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
यह उप-डोमेन के साथ काम नहीं करेगा।
domain.com सही ढंग से www.domain.com पर पुनर्निर्देशित हो जाता है
परंतु
images.domain.com www.images.domain.com पर पुनर्निर्देशित हो जाता है
यदि उपडोमेन "www नहीं" है, तो जाँचने के बजाय, जाँच करें कि क्या दो बिंदु हैं:
RewriteCond %{HTTP_HOST} ^(.*)$ [NC]
RewriteCond %{HTTP_HOST} !^(.*)\.(.*)\. [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ HTTP%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP_HOST} !^(.*)\.(.*)\.(.*)\. [NC]
(सख्ती से बोलना, आपका TLD अभी भी है .uk
और आपका डोमेन है something.co
।)
RewriteEngine On
RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [NE,L,R=301]
यह उप-डोमेन example.com
को www.example.com
छोड़कर पुनर्निर्देशित करता है ।
यह एक पुराना सवाल है, और ऐसा करने के कई अलग-अलग तरीके हैं। सबसे पूर्ण उत्तर, IMHO, यहाँ पाया जाता है: https://gist.github.com/vielhuber/f2c6bdd1ed9024023fe4 । (यहाँ कोड बनाना और प्रारूपित करना मेरे लिए काम नहीं आया)
यह मेरे लिए जादू की तरह काम करता है
RewriteCond% {HTTP_HOST} ^ sitename.com [NC] RewriteRule ^ (। *) $ Https://www.sitename.com/ $ 1 [L, R = 301, NC]
RewriteCond %{HTTP_HOST} ^yourdomain.com [NC]