2009-02-20 13 views
5

मेरे पास एक वेब साइट के 'www' सबडोमेन के लिए एक SSL प्रमाणपत्र है जिसे हम example.com पर कॉल करेंगे।किसी भी यूआरआई के लिए एसएसएल और www सबडोमेन को .htaccess के साथ दर्ज किया गया है?

इसलिए मैं SSL को मजबूर कर सकता हूं, लेकिन यदि उपयोगकर्ता अपने ब्राउज़र में 'www.example.com' दर्ज नहीं करता है, तो SSL प्रमाणपत्र अमान्य दिखाई देता है।

मैं इसे वेब साइट की रूट पर .htaccess फ़ाइल में mod_rewrite नियमों के साथ पूरा करना चाहता हूं।

कोई फर्क नहीं पड़ता यूआरआई उपयोगकर्ता में प्रवेश करती है, (जैसे example.com, www.example.com, https://example.com, example.com/folder/file.html, आदि), मैं HTTPS और बाध्य करना चाहते हैं www सबडोमेन, जो भी यूआरआई उन्होंने मुहैया कराया, निश्चित रूप से।

मैं .htaccess फ़ाइल और कुछ नियमों के साथ खेल रहा था, क्योंकि मैंने पहले ही कुछ शोध किया है, लेकिन मुझे mod_rewrite या .htaccess के साथ अधिक अनुभव नहीं है। मुझे लगता है कि मुझे एसवीएन संशोधन मिला है कि लगभग मेरे लिए काम किया, लेकिन काफी नहीं। यहां यह है:

RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 
RewriteCond %{HTTP_HOST} ^example.com [nc] 
RewriteRule ^(.*)$ https://www.example.com/$1 [r=301,nc] 

मेरी फ़ाइल में बहुत कठिन हंसने की कोशिश न करें; यह ज्यादातर ऑनलाइन मिले उदाहरणों से लिया गया है।

किसी भी पॉइंटर्स की सराहना की जाती है! =)

+0

http://no-www.com/ – ceejayoz

+0

इसके अलावा: example.com उदाहरण डोमेन के लिए –

उत्तर

3

इस प्रयास करें:

RewriteCond %{HTTPS} !on [OR] 
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC] 
RewriteRule^https://www.example.com%{REQUEST_URI} [R=301] 
+0

अपने मूल से संशोधित (जो% था का उपयोग करें (आप के लिए यह तय) {HTTP_HOST} RewriteRule लाइन में, जो मुझे लगता है कि आप पहले ही तय कर चुके हैं) यह बहुत अच्छा काम करता है: रिवाइट्रूल^https: //www.example.com% {REQUEST_URI} [R = 301] – Alex