.htaccess एचटीटीपी सफारी पर बहुत अधिक पुनर्निर्देशन का कारण बनता है




redirect safari (2)

RewriteRule ^folder\/?(.*)$ "http\:\/\/example\.com\/all\-categories\/folder\/$1" [R=301,L]

चूंकि आप हर चीज को https रीडायरेक्ट कर रहे हैं, इसलिए आपको उपरोक्त रीडायरेक्ट में भी यह करना चाहिए। अन्यथा आप अतिरिक्त (अनावश्यक) रीडायरेक्ट्स के साथ समाप्त होने जा रहे हैं। इसलिए इसे फिर से लिखा जाना चाहिए:

RewriteRule ^folder/?(.*) https://example.com/all-categories/folder/$1 [R=301,L]

मैंने भी regex और प्रतिस्थापन को छान लिया है (ऐसा लगता है कि कुछ सीपीएनएल उत्पन्न होगा?)। सभी बैकस्लैश पलायन (और दोहरे उद्धरण) की आवश्यकता नहीं है, जो कि RewriteRule प्रतिस्थापन में है । और फिर से RewriteRule पैटर्न में बैकस्लैश से बचने की ज़रूरत भी ज़रूरी है।

हालांकि, मुझे संदेह है कि यह अकेला सफ़ारी (मोबाइल) को संतुष्ट करने के लिए पर्याप्त है या नहीं। (?)

मैंने हाल ही में अपने डोमेन को https रीडायरेक्ट करना शुरू कर दिया है और मुझे सफारी पर विशेष रूप से मोबाइल पर "बहुत सारे रीडायरेक्ट्स" त्रुटि मिल रही है सब कुछ किसी भी कंप्यूटर पर और किसी अन्य ब्राउज़र में ठीक काम करता है

यहां बताया गया है कि मैंने अपने रीडायरेक्ट्स को कैसे पूरा किया है।

मुख्य डोमेन के लिए

RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$ [NC]
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule ^ https://example\.com%{REQUEST_URI} [R=301,L,NE]

मैंने भी Cloudflare अक्षम किया क्योंकि यह मेरे SSL के साथ समस्याएं पैदा कर रहा था और मैंने DNS प्रसार के साथ कुछ मुद्दे तय किए।

संपादित करें:

यह कंप्यूटर के अलावा सभी सफारी ब्राउज़र्स को प्रभावित करता है और कैश को हटाने से समस्या हल नहीं होती है। मेरे पास केवल एक डोमेन है, लेकिन कुछ उपडोमेन

.htaccess में मेरे पास अन्य निर्देश हैं:

RewriteCond %{HTTP_HOST} ^example.com$ [OR]
RewriteCond %{HTTP_HOST} ^example.com$
RewriteRule ^folder\/?(.*)$ "http\:\/\/example\.com\/all\-categories\/folder\/$1" [R=301,L]

संपादित करें: हल किया गया

मेजबान को बदलने के लिए मेरे लिए इस समस्या का समाधान किया


जैसा कि आप CloudFlare के लचीले SSL का उपयोग कर रहे हैं; वेब सर्वर कनेक्शन को SSL पर होना चाहिए और जब इसे नहीं करना चाहिए तब उसे सही ढंग से पहचानने में सक्षम नहीं हो सकता है।

जैसे आप अपने वेबसर्वर पर Mod_CloudFlare को स्थापित करने का प्रयास करना चाहिए, यदि आप ऐसा नहीं कर सकते हैं, तो आप इसके बजाय अपने अपाचे। में एचटीएसीएक्स एक्स-फोर्डेड-प्रोटो हेडर से अपने SSL परिवेश चर सेट कर सकते हैं।

SetEnvIf एक्स-फॉरवर्ड-प्रोटो https HTTPS = ऑन