गैर-वर्डप्रेस उपनिर्देशिकाओं तक पहुँच नहीं सकता क्योंकि वर्डप्रेस उन्हें 404 त्रुटि के साथ ओवरराइड करता है


34

मैं पहले पूछे गए इस सवाल का उल्लेख करता हूं और उचित जवाब नहीं दिया गया है: वास्तविक उपनिर्देशिका और गैर "वर्डप्रेस" पृष्ठों / कोड को ओवरराइड करने वाले वर्डप्रेस / कोड में 404 त्रुटि हो रही है

मुझे भी यही समस्या है और मैंने नेट पर मिलने वाली लगभग हर चीज़ की कोशिश की है। यह निश्चित रूप से wordpress में permalinks चालू होने से संबंधित है। हालाँकि, मैंने उपनिर्देशिका में एक नई .htaccess फ़ाइल लगाई है:

फिर से लिखना

और समस्या अभी भी मौजूद है। भले ही मैं पूरी तरह से Wordpress .htaccess फ़ाइल को हटा दूं फिर भी समस्या मौजूद है।

मैंने कुछ अन्य सुझाए गए समाधानों की भी कोशिश की है जैसे कि ErrorDocument 401 "अनधिकृत एक्सेस" और ErrorDocument 404 "अनधिकृत एक्सेस" और रीडायरेक्ट 301 / mysubdirectory http://www.mydomain.com/mysubdirectory/index.html विभिन्न स्थानों में सभी कोई फायदा नहीं हुआ। ।

क्या कोई अन्य समाधान प्रस्तुत कर सकता है? जिस तरह से मैं इसे ठीक कर सकता हूं वह है कि पेर्मलिंक को बंद करना है लेकिन हमें उनकी आवश्यकता है।

धन्यवाद,

निकोल


यदि आप वर्डप्रेस रूट फ़ोल्डर में index.bp को index.bak में बदल देते हैं तो क्या होता है? क्या निर्देशिका अभी भी सुलभ नहीं है?
हॉर्टकोर

क्या आपने अपने उप-फ़ोल्डर .htaccess में (इस उप-फ़ोल्डर के लिए मूल्य के साथ) आधार यूआरएल को फिर से परिभाषित करने की कोशिश की है?
सेड्रिक जी

जवाबों:


28

मैं मान रहा हूं कि आपने अपनी साइट के रूट में वर्डप्रेस डाल दिया है और बाहरी निर्देशिका भी आपकी साइट रूट में हैं। इसका कारण यह है कि .htaccess फाइलें एक पदानुक्रम का अनुसरण करती हैं। शीर्ष-स्तर की .htaccess फ़ाइल में जो भी निर्देश हैं वे नीचे प्रवाह करें और इसके नीचे सभी निर्देशिकाओं पर लागू करें।

यदि यह मामला है, तो आप कई काम कर सकते हैं:

  1. अपने वर्डप्रेस को अपनी निर्देशिका में स्थानांतरित करें। देखें: http://codex.wordpress.org/Moving_WordPress यदि आप वर्डप्रेस को अपनी निर्देशिका में स्थानांतरित करते हैं, तो यह आपके सर्वर निर्देशिका पदानुक्रम में समान स्तर पर है क्योंकि अन्य निर्देशिकाएं वर्डप्रेस रीराइट नियमों को अन्य निर्देशिकाओं को प्रभावित नहीं कर सकती हैं।

  2. रिवरटाइंगइन ऑफ - यह सामान्य रूप से काम करेगा। यदि यह जाँच नहीं कर रहा है कि आप वाइल्डकार्ड DNS सेटिंग का उपयोग नहीं कर रहे हैं। यदि आपके पास अपने DNS सेटिंग्स में अपने वेब सर्वर पर इंगित करने वाला एक वाइल्डकार्ड * होस्टनाम रिकॉर्ड है तो यह .htaccess और सबडोमेन के कारण हो सकता है।

  3. अपनी साइट रूट में .htaccess फ़ाइल में, निम्नलिखित। वर्डप्रेस .htaccess निर्देशों को जोड़ें:

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_URI} ^/subdirectoryname1/(.*)$ [OR]
    RewriteCond %{REQUEST_URI} ^/subdirectoryname2/(.*)$ [OR]
    RewriteRule ^.*$ - [L]
    </IfModule>

इनमें से एक आपके लिए काम करना चाहिए।


17

यह मेरे लिए एक समान स्थिति के लिए अतीत में काम कर चुका है:

इसके ऊपर रख दें .htaccess

ErrorDocument 401 default

2
धन्यवाद! मैंने बहुत सी चीजों की कोशिश की है, लेकिन यह एकमात्र समाधान है जिसने मेरे मामले के लिए काम किया है: पासवर्ड-संरक्षित उपनिर्देशिका
राडो

2
मेरे लिए भी काम किया, किसी भी स्पष्टीकरण के रूप में यह क्या करता है और यह क्यों काम करता है?
आसफ

यह मेरे लिए काम करता है .. WordPress का उपयोग नहीं कर रहा है, लेकिन OpenCart और एक ही समस्या है। एक स्पष्टीकरण वास्तव में सहायक होगा।
बिलॉन्ह

4

जब मैं अपनी फ़ाइलों को एक ही सर्वर में कॉपी करता हूं, लेकिन विभिन्न उपनिर्देशिका फ़ोल्डर के साथ तो जब मैंने अपने पृष्ठों तक पहुंचने की कोशिश की, index.php ठीक काम कर रहा है, लेकिन अन्य पृष्ठ मुझे 404 त्रुटि नहीं दे रहे हैं। मेरी खराब इंग्लिश के लिए माफ़ कीजिये!!

मैं बस अपने htaccess को मूल में देखता हूं:

# बेगिन वर्डप्रेस

रिवरटाइंगइन ऑन
रिवाइटबेस /
% ReriteCond% {REQUEST_FILENAME}! -F
% ReriteCond% {REQUEST_FILENAME}! -D
पुनर्लेखन। /index.php [एल]

# अंत वर्डप्रेस

और नया डाल दिया

# बेगिन वर्डप्रेस

रिवरटाइंगइन ऑन
RewriteBase / उपनिर्देशिका
% ReriteCond% {REQUEST_FILENAME}! -F
% ReriteCond% {REQUEST_FILENAME}! -D
पुनर्लेखन। /subdirectoryfolder/index.php [एल]

# अंत वर्डप्रेस

हाय @ लिज़ेट। WPSE फोरम में आपका स्वागत है। आप यह देखना चाहते हैं कि प्रारूपण यहाँ कैसे काम करता है।
पोथी कालीमुथु

4

मैं देख रहा हूं कि यह धागा कुछ महीने पुराना है, लेकिन सिर्फ इस मामले में कि आपको यह काम करने के लिए कभी नहीं मिला!

मेरे पास एक समान मुद्दा था, लेकिन मेरी समस्या यह थी कि वर्डप्रेस इंस्टॉलेशन उपनिर्देशिका में स्थित था, जो रूट (WP इंस्टॉल डायरेक्टरी के बाहर) के भीतर फ़ोल्डर्स तक यूआरएल की पहुंच को रोकता था, लेकिन केवल तभी जब permalinks सक्षम थे। इसे हल करने के लिए, मैंने सबडिरेक्ट से WP.php और .htaccess (कॉपी न ले जाएँ) दोनों को कॉपी किया जहाँ WP स्थापित है और उन दोनों को रूट public_html में रखा है (या जो भी उपनिर्देशिका आप WP स्थापित करने के लिए उपयोग करने का प्रयास कर रहे हैं। निर्देशिका)। .Htaccess फ़ाइल में पहले से ही पर्मलिंक के लिए फिर से लिखना है:

RewriteEngine On
RewriteBase /subdirectoryinstallfolder/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

ताज़ा करने के लिए पर्मलिंक सक्षम करें और इसने सभी मुद्दों को हल किया। सुनिश्चित करें कि रूट फ़ोल्डरों के लिए आपकी अनुमति सही ढंग से सेट की गई है क्योंकि इससे मुझे अतीत में समस्याएं हुई हैं।


3

अगर आप अभी भी 404 htaccess के साथ अक्षम हो रहे हैं और आपने रास्तों को सत्यापित कर लिया है और आपको पता है कि फाइलें हैं तो आपके पास केवल तीन विकल्प शेष हैं ...

विकल्प ...

  1. सर्वर संभवतः केस-संवेदी ऑपरेटिंग सिस्टम चला रहा है। जिसका अर्थ है कि यदि आप एक मार्ग में टाइप कर रहे हैं और सटीक वर्णों का उपयोग नहीं कर रहे हैं और इसे बस काम नहीं करेंगे।
  2. अनुमतियाँ: आपके पास फ़ाइल या फ़ोल्डर या पैरेंट फ़ोल्डर पर गलत अनुमतियाँ हो सकती हैं। फ़ाइलों, फ़ोल्डरों और पैरेंट फ़ोल्डरों पर अनुमतियों को 755 में बदलने का प्रयास करें। यदि आपके पास इसके लिए ssh (टर्मिनल) एक्सेस है, तो अपनी रूट पर जाएं और इस "chmod -R 755 mydir" को चलाएं और यह उन सभी के लिए अनुमतियों को पुन: सेट करेगा।
  3. यदि आप अभी भी उस सब के बाद एक समस्या है, तो आप एक सर्वर विन्यास समस्या है (Apache शायद)। आपको इसके बारे में अपने होस्टिंग प्रदाता से बात करनी होगी।

यदि उस में से कोई भी काम नहीं करता है तो आपको एक नए होस्ट की आवश्यकता है।


2

लगभग अपने बालों को एडिट करने के बाद htaccess मैं आखिरकार एक ऐसा समाधान ढूंढ लिया जो वर्डप्रेस के लिए काम करेगा।

वर्डप्रेस स्थापित है, जो एक ही रूट निर्देशिका पर एक कोडिग्रंथ स्क्रिप्ट स्थापित करने के बाद मुझे यह समस्या थी।

यहाँ सूचीबद्ध सभी तरकीबों को आजमाने के बाद भी मुझे नई स्क्रिप्ट से जुड़े पन्नों पर 404 त्रुटियां हो रही थीं।

मैंने नोट किया कि वर्डप्रेस htaccess स्क्रिप्ट के htaccess को ओवरराइड कर रहा था। मैंने यह भी नोट किया कि उसी निर्देशिका में अन्य वर्डप्रेस इंस्टॉलेशन में यह 404 त्रुटि नहीं थी।

मैंने बस उसी सर्वर निर्देशिका में नए वर्डप्रेस इंस्टॉलेशन से htaccess को अपनाया और उस फ़ोल्डर में जोड़ा जहां मेरी स्क्रिप्ट स्थित है। यहाँ है कि यह कैसा दिखता है:

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

अपनी निर्देशिका के नाम के साथ उपनिर्देशिका बदलें और इस htaccess फ़ाइल को उस फ़ोल्डर के अंदर रखें जहाँ आपकी स्क्रिप्ट स्थित है।

उदाहरण: यदि साइट यहां स्थापित है

public_html/

और नया फ़ोल्डर स्थित है

`public_html/example`

ऊपर htaccess की प्रतिलिपि बनाएँ और इसे फ़ोल्डर 'उदाहरण' के अंदर सहेजें और यह काम करना चाहिए।


1

जब मैंने एक समान समस्या में भाग लिया तो मैंने कई बार प्रतिक्रियाओं को देखा है। मेरे पास एक उपनिर्देशिका में फाइलें हैं जो एक 404 त्रुटि को फेंक देगी जब मैंने उन्हें एक्सेस करने की कोशिश की। जैसा कि क्रिस्टन डगलस कहते हैं, सभी .htaccess सामान इसे ठीक करने में विफल रहे, Wordpress पहले से ही काम करता है।

मेरा समाधान

मुझे यह लेख सर्वर पर error_log की जाँच करने के बाद मिला । मुझे स्क्रिप्ट के लिए गलत यूआईडी के बारे में एक संदेश मिल रहा था। मैंने यह भी देखा कि फ़ाइल की वजह से 404 को फेंका नहीं जा रहा था, लेकिन क्योंकि सर्वर 500.html फ़ाइल की सेवा नहीं कर सकता था अर्थात मेरे पास 500 त्रुटि थी।

पता चलता है कि मैंने फ़ाइलों को रूट के रूप में बनाया है, और स्वामित्व को वेबफ़ाइल्स स्वामी में बदलने की आवश्यकता है।

मुझे आशा है कि यह दूसरों को मदद करता है जिनके पास एक ही मुद्दा है!


0

आपको सिर्फ एक RewriteCondनिर्देश जोड़ने में सक्षम होना चाहिए जो सुनिश्चित करेगा कि आपके सबफ़ोल्डर के अंदर अनुरोधों के लिए वर्डप्रेस नियमों की अनदेखी की गई है।

RewriteCond %{REQUEST_URI} !^/mysubdirectory
# rest of WordPress rewrite rules

हालाँकि, आप कहते हैं कि बिना किसी वर्डप्रेस के भी .htaccessआप समस्या का सामना कर रहे हैं? आपकी उपनिर्देशिका की सामग्री क्या है .htaccess?

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.