2012-01-06 13 views
8

मैं इस सरल पुनर्लेखन नियम है और यह http के तहत ठीक से काम करता है:पुनर्लेखन नियम HTTP पर काम करने के लिए और HTTPS

RewriteCond %{HTTP_HOST} ^www\.siku-siku\.com$ 
RewriteRule ^/work/all.html /portfolio/ [L,R=301] 

हालांकि, शासन जब मैं https पर था प्रभाव में नहीं ले करता है । मैंने नियम सेट को निम्नलिखित में संशोधित किया लेकिन इसका कोई फायदा नहीं हुआ।

RewriteCond %{HTTPS} on 
RewriteCond %{HTTP_HOST} ^www\.siku-siku\.com$ 
RewriteRule ^/work/all.html /portfolio/ [L,R=301] 

मुझे लगता है कि शासन दोनों http और https पर काम कैसे कर सकते हैं? अगर मुझे और जानकारी प्रदान करने की ज़रूरत है तो कृपया मुझे बताएं।

+1

है कर रहे हैं एक्सट्रपलेशन आसान होना चाहिए यह एक। htaccess या एक vhost? यदि एक vhost, बस एक अलग फ़ाइल में पुनर्लेखन नियम डाल दें और इसे vhosts – fge

+0

दोनों में स्रोत करें यह एक vhost है। @fge: क्या आपका मतलब गैर-एसएसएल और एसएसएल दोनों के लिए vhost था? क्षमा करें, यह वास्तव में मूलभूत लग सकता है लेकिन मैं अपाचे मोड-रीराइट से परिचित होना शुरू कर रहा हूं। – moey

+1

ठीक है, mod_rewrite निर्देश किसी अन्य की तरह हैं, अगर आप उन्हें किसी अन्य फ़ाइल में डालते हैं और 'इस फ़ाइल को दूसरे से' शामिल करते हैं, तो यह होगा। तो हां, बस एक और फाइल में नियम लिखें जिन्हें आप एसएसएल और गैर एसएसएल vhost दोनों में शामिल करते हैं (HTTPS पर 'रिवाइटकंड' को हटाकर)। – fge

उत्तर

8

अपाचे ssl विन्यास के लिए एक अलग vhost उपयोग करता है:

<IfModule mod_ssl.c> 
    <VirtualHost _default_:443> 
    RewriteEngine on 
    RewriteCond %{HTTP_HOST} ^www\.siku-siku\.com$ 
    RewriteRule ^/work/all.html /portfolio/ [L,R=301] 
    ... 
    </VirtualHost> 
</IfModule> 

यह लिंक डेबियन पर SSL के साथ अपाचे विन्यस्त करने के लिए एक उदाहरण है, लेकिन करने के लिए जो भी मंच आप पर http://www.debian-administration.org/articles/349

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