/ / SSL + mod_rewrite + Zend फ्रेमवर्क MVC को एक साथ कैसे प्राप्त करें? - php, zend-ढांचा, mod-rewrite, ssl

SSL + mod_rewrite + Zend फ्रेमवर्क MVC को एक साथ कैसे प्राप्त करें? - php, zend-Framework, mod-rewrite, ssl

इसलिए, मुझे ZF MVC साइट मिल गई है और मेरे / चेकआउट / के तहत हर चीज पर एसएसएल कनेक्शन को मजबूर करना चाहता है मैंने इसके लिए mod_rewrite का उपयोग करने की कोशिश की, ताकि मेरी .htaccess इस तरह दिखे:

RewriteEngine on
RewriteRule (/checkout.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R]
RewriteRule !.(js|ico|gif|jpg|png|css|swf|xml|avi|flv|mov|mp3|wav)$ index.php [L]

निश्चित रूप से पर्याप्त है, यह एसएसएल में किक करता है, लेकिन दूसरा नियम, जो कि ZF विशिष्ट है और सब कुछ index.php सॉर्ट करने के लिए पुनर्निर्देशित करता है प्रोटोकॉल विनिर्देश मिटा देता है।

दुर्भाग्य से mod_rewrite के साथ मेरी दक्षता का स्तर मूर्खतापूर्ण है। शायद कोई मेरी मदद कर सकता है इसे हल करने के लिए?

उत्तर:

जवाब के लिए 3 № 1

टिम लिटल का जवाब ज्यादातर है।

मैं इसे HTTPS की जाँच में थोड़ा और सख्त होना चाहिए और झंडे को एक सीमांकक की आवश्यकता है।

RewriteCond %{HTTPS} !^on$
RewriteRule ^/checkout/? https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

RewriteRule !.(js|ico|gif|jpg|png|css|swf|xml|avi|flv|mov|mp3|wav)$ index.php [L]

उत्तर № 2 के लिए 1

यह आपकी मदद कर सकता है, केवल ReriteCond जोड़ेंलागू करें जब कनेक्शन एसएसएल नहीं है, तो "एल" विकल्प को अपने रीडायरेक्ट नियम में जोड़ें ताकि प्रसंस्करण उस बिंदु पर फिर से लिखना बंद हो जाए (इसलिए अंतिम नियम एसएसएल रीडायरेक्ट ओवरराइड नहीं करता है)।

RewriteCond %{HTTPS} !on
RewriteRule (/checkout.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [RL]

RewriteRule !.(js|ico|gif|jpg|png|css|swf|xml|avi|flv|mov|mp3|wav)$ index.php [L]