/ / htaccess रूट को उपनिर्देशिका पर रीडायरेक्ट करें लेकिन रूट में index.php को फ़ंक्शन करने की अनुमति दें - php, wordpress, apache, .htaccess, जूमला

htaccess रूट को उपनिर्देशिका पर रीडायरेक्ट करें लेकिन रूट में index.php को फ़ंक्शन करने दें - php, wordpress, apache, .htaccess, जूमला

यह हमारी स्थिति है: मूल डोमेन नाम (कहें, www.example.com) वर्डप्रेस में किया गया था और रूट में स्थापित किया गया था। हमने जूमला का उपयोग करके एक नई वेबसाइट बनाई है और इसे उप-निर्देशिका में रखा है (कहें, www.example.com/portALsite)।

मैं इस कोड का उपयोग htaccess में इस उप-निर्देशिका (www.example.com/portALsite) पर रूट (www.example.com/) को सफलतापूर्वक पुनर्निर्देशित करने में सक्षम हूं:

RewriteEngine on
RewriteRule ^$ http://www.example.com/PORTALsite [R=301,L]

यह अच्छा काम करता है, इसके अलावा हमें मूल की आवश्यकता हैWordPress वेबसाइट (www.example.com/index.php पर स्थित होम पेज) अभी भी कार्य करने के लिए। हमें इसकी आवश्यकता है, क्योंकि हमारे पास इस वर्डप्रेस साइट के सैकड़ों पेज हैं जो खोज इंजन में अनुक्रमित हैं और हम चाहते हैं कि पुरानी सारी सामग्री काम करना जारी रखे।

उपरोक्त कोड सभी फ़ाइलों के लिए अच्छी तरह से काम करता है औररूट के भीतर उप-निर्देशिकाएं, जो हमारी पुरानी सामग्री को काम करना जारी रखती हैं, और यह रूट जूम (www.example.com/) को नई जूमला वेबसाइट की उप-निर्देशिका (www.example.com/PORTALsite) पर सही तरीके से रीडायरेक्ट करती है। ।

हालांकि, समस्या यह है: हमें अभी भी पुरानी वर्डप्रेस साइट की index.php फ़ाइल की आवश्यकता होती है, यदि इसे सीधे एक्सेस किया जाता है (यानी, अगर कोई www.example.com/index.php में टाइप करता है), लेकिन यह काम नहीं कर रहा है। अगर आप www पर जाते हैं। example.com/index.php भी www.example.com/portalsite पर रीडायरेक्ट करता है। हालांकि रूट में मौजूद सभी अन्य फाइलें अभी भी कार्य करती हैं जैसे हम उन्हें चाहते थे।

मुझे यह सुनिश्चित करने दो कि मैं इसे ठीक से समझा रहा हूं: अगर कोई हमारा डोमेन (www.example.com) चलाता है तो यह रीडायरेक्ट करता है क्योंकि हम नई जूमला वेबसाइट (www.example.com/portalsite पर) चाहते हैं। लेकिन, यदि आप www.example.com/index.php (पुरानी वर्डप्रेस साइट के होम पेज) पर जाते हैं तो यह नई जूमला वेबसाइट की उप-निर्देशिका (www.example.com/portALsite) पर भी रीडायरेक्ट करता है। हम यह नहीं करना चाहते हैं। हम इसे चाहते हैं ताकि अगर रूट की index.php फ़ाइल को सीधे एक्सेस किया जा सके, तो यह अभी भी कार्य करेगा (सभी पुरानी वर्डप्रेस सामग्री को बरकरार रखने के लिए)।

हम केवल डोमेन नाम के लिए अनुरोध चाहते हैं,www.example.com/portalsite पर रीडायरेक्ट करने के लिए www.example.com। लेकिन, हमें अभी भी कार्य करने के लिए www.example.com/index.php सहित अन्य सभी फ़ाइलों और उप-निर्देशिकाओं की आवश्यकता है (ताकि लोग अभी भी पुरानी वर्डप्रेस वेबसाइट की सामग्री तक पहुंच सकें, साथ ही साथ कई स्थिर पृष्ठों)।

रूट में सभी फाइलें और उप-निर्देशिकाएं(www.example.com/) अभी भी काम करते हैं जैसा कि हम चाहते हैं, लेकिन बस पुरानी वर्डप्रेस साइट के होम पेज (www.example.com/index.php पर स्थित) भी www.example.com/ पर नई साइट पर रीडायरेक्ट करता है पोर्टलसाइट (डोमेन नाम के लिए अनुरोधों के साथ ही www.example.com)। तो ऊपर दिया गया कोड काम करने के करीब बहुत करीब है जैसा हम चाहते हैं।

मैं यहां StackOverflow पर विशेषज्ञता की सराहना करता हूं और हमें प्राप्त होने वाली किसी भी सहायता की बहुत सराहना करता हूं। आपका अग्रिम में ही बहुत धन्यवाद!

अद्यतन: यह हमारी HTACCESS फ़ाइल में कोड है: (वास्तविक डोमेन नाम के बजाय "example.com" का उपयोग किया जाता है)

RewriteEngine on
RewriteRule ^$ http://www.example.com/PORTALsite [R=301,L]

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

नीचे अनुभूवा प्रतिक्रियाओं के प्रकाश में, यूआरएल से "index.php" को हटाने से रोकने के लिए वर्डप्रेस प्राप्त करने के बाद उसका कोड काम करना चाहिए। धन्यवाद अनुभू! यहां पूरी फाइल है।

उत्तर:

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

इस नियम को बदलें:

RewriteRule ^$ http://www.example.com/PORTALsite [R=301,L]

इसके साथ:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}s/+[s?]
RewriteRule ^$ /PORTALsite [R=301,L]
  • सुनिश्चित करें कि यह आपके WordPress में पहला नियम है। Htaccess
  • 301 कैशिंग मुद्दों से बचने के लिए एक अलग ब्राउज़र में परीक्षण करना सुनिश्चित करें
  • अपने ब्लॉग / होम यूआरएल को बनाने के लिए WP की परमालिंक सेटिंग बदलें http://domain.com/index.php के बजाय http://domain.com/