यह टूल क्या करता है
.htaccess जनरेटर सबसे आम कामों के लिए Apache कॉन्फ़िगरेशन फ़ाइल लिखता है: HTTPS ज़रूरी करना, www.example.com और example.com में से एक चुनना, स्थायी 301 रीडायरेक्ट, कस्टम 404 पेज, gzip कम्प्रेशन, ब्राउज़र कैशिंग, सिक्योरिटी हेडर, CORS, इमेज हॉटलिंक सुरक्षा और सिंगल-पेज ऐप्स के लिए फ़ॉलबैक।
हर फ़ीचर एक स्विच है। विकल्प बदलते ही फ़ाइल अपडेट होती है, हर ब्लॉक को समझाने वाले छोटे कमेंट के साथ आती है, और मॉड्यूल-विशेष नियमों को <IfModule> में लपेटती है ताकि कोई मॉड्यूल न होने पर भी साइट चलती रहे।
इसे कैसे इस्तेमाल करें
- अपना डोमेन डालें (www और हॉटलिंक नियमों के लिए ज़रूरी)।
- जो फ़ीचर चाहिए उन्हें चालू करें। HTTPS ज़रूरी करें और www प्रीफ़िक्स को एक ही रीडायरेक्ट में जोड़ दिया जाता है, ताकि विज़िटर कभी दो बार रीडायरेक्ट न हों।
- 301 रीडायरेक्ट को
;से अलग किए गएold newजोड़ों के रूप में जोड़ें, जैसे/old-page /new-page; /blog https://blog.example.com। - परिणाम कॉपी करें या
.htaccessके रूप में सेव करने के लिए डाउनलोड दबाएँ। - इसे अपनी साइट के document root में अपलोड करें और कुछ URL टेस्ट करें, बेहतर होगा कि पहले staging सर्वर पर।
उदाहरण
example.com के लिए HTTPS ज़रूरी करने और www हटाने पर यह बनता है:
<IfModule mod_rewrite.c>
RewriteEngine On
# Force HTTPS and remove www
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^example\.com$ [NC]
RewriteRule ^ https://example.com%{REQUEST_URI} [L,R=301]
</IfModule>
सुझाव
- ब्राउज़र 301 रीडायरेक्ट को कैश कर लेते हैं। टेस्टिंग के दौरान प्राइवेट विंडो इस्तेमाल करें या कैश साफ़ करें।
- HSTS (HTTPS ज़रूरी करने पर सिक्योरिटी हेडर का हिस्सा) तभी चालू करें जब हर सबडोमेन पर HTTPS काम कर रहा हो।
- क्लाइंट-साइड राउटिंग इस्तेमाल करने वाले React, Vue या Angular ऐप्स के लिए सिंगल-पेज ऐप फ़ॉलबैक इस्तेमाल करें।
अक्सर पूछे जाने वाले सवाल
› .htaccess फ़ाइल कहाँ रखूँ?
Apache सर्वर पर अपनी साइट के document root में (वह फ़ोल्डर जिसमें index.html या index.php है)। नियम उसके नीचे के हर फ़ोल्डर पर भी लागू होते हैं।
› क्या यह Nginx पर काम करेगा?
नहीं। .htaccess सिर्फ़ Apache और LiteSpeed जैसे संगत सर्वर पढ़ते हैं। Nginx में यही नियम उसके अपने server कॉन्फ़िगरेशन में लिखने पड़ते हैं।
› अपलोड करने के बाद मुझे 500 एरर क्यों मिलता है?
आम तौर पर फ़ाइल जो मॉड्यूल इस्तेमाल करती है वह चालू नहीं होता। हर ब्लॉक <IfModule> में लिपटा है, लेकिन जब होस्ट AllowOverride से इन्हें मना करता है तो mod_rewrite नियम और Options -Indexes फिर भी फ़ेल हो सकते हैं। कारण ढूँढने के लिए सेक्शन एक-एक करके हटाएँ।
› रीडायरेक्ट कैसे लिखूँ?
पुराने पाथ और नए URL के जोड़े सेमीकोलन से अलग करके डालें, जैसे /old /new; /blog https://blog.example.com। हर जोड़ा एक स्थायी 301 रीडायरेक्ट बन जाता है।