सर्वर माइग्रेशन के बाद केवल होमपेज काम करता है


33

मैंने हाल ही में अपनी वर्डप्रेस साइट की होस्टिंग को VPS.net में बदल दिया है । मैंने अपनी सभी फ़ाइलें स्थानांतरित कर दी हैं और डेटाबेस आयात कर लिया है। जब तक मैंने एक लिंक पर क्लिक नहीं किया तब तक सब कुछ ठीक दिखाई दिया और देखा कि मेरे सभी पृष्ठ मुखपृष्ठ को छोड़कर 404 को वापस ला रहे हैं।

साइट URL http://inksquared.com है


जवाबों:


42

मुझे लगता है कि आपको http: // योराइट लेकिन http: // योराइट / कुछ भी मिलता है

मुझे एक समान समस्या थी और जब मैं बदल गया तो यह हल हो गया

httpd.confसे

AllowOverride None

सेवा मेरे

AllowOverride All

मेरी समझ के अनुसार यह .htaccessप्रभाव को प्रभावित करेगा।


6
यह एक मेरे लिए काम किया। ज्यादातर लोग इस बारे में भूल जाते हैं।
क़ासिमज़ी

1
यह मेरे लिए भी काम करता है, केवल इसे apache2.confमेरे सर्वर फ़ाइलों के स्थान के लिए इसे बदलना पड़ता था , /var/wwwमेरे मामले में
6

1
यह मेरे लिए जवाब का हिस्सा था। मैंने AllowOverride Allसाइट कॉन्फ़िगरेशन में जोड़ा, लेकिन मैंने भी जोड़ा Options FollowSymLinks। मैं तब कस्टम पर्मलिंक का उपयोग करने में सक्षम था, जिसने एक उपयुक्त रूट .htaccess फ़ाइल भी बनाई थी। उसके बाद सब कुछ काम कर गया।
बूट

1
और अपाचे को पुनः आरंभ करने के लिए मत भूलना! "
सुडो

1
इसने काम कर दिया। सुनिश्चित करें कि आप conf फ़ाइल में स्थानों पर AllowOverride विकल्प को बदलते हैं।
नजीब

44

अपने mod_rewrite नियमों को फ्लश करने का प्रयास करें:

डैशबोर्ड -> सेटिंग्स -> पेरालिंक्स

सेटिंग्स सहेजें (कोई परिवर्तन करने की आवश्यकता नहीं है)


7
वास्तव में भी बचाने की जरूरत नहीं है। नियमों को केवल उस पृष्ठ पर जाकर फ़्लश किया जाता है, और नियमों को फ्लश करने के भाग में .htaccess लिखना शामिल है।
जॉन पी बलोच

मैं हर दिन कुछ नया सीखता हूं ... :)
चिप बेनेट

@ क्या आपको यकीन है कि अगर जरूरत है तो सिर्फ पेज लोड .htaccess को लिखें? मैं इस धारणा के तहत था कि डेटाबेस में केवल rewrite_rules फ्लश हैं।
Ashfame

WP-व्यवस्थापक / विकल्प-permalinks.php कॉल flush_rewrite_rules(), के लिए एक आवरण WP_Rewrite::flush_rules()है, जो, अगर $hardहै true(जब उस पृष्ठ पर कहा जाता है जो यह है) और समारोह save_mod_rewrite_rules(में परिभाषित मौजूद है wp-admin/includes/misc.php, सभी व्यवस्थापक पृष्ठों में शामिल है), यह कहता है save_mod_rewrite_rules()। उस फ़ंक्शन की परिभाषा यहाँ देखें: core.trac.wordpress.org/browser/trunk/wp-admin/includes/…
John P Bloch

वह फ़ंक्शन जो वास्तव में .htaccess को फिर से लिखने के नियमों को लिखता है। insert_with_markers( save_mod_rewrite_rules()ऊपर में इस्तेमाल किया गया है), यहाँ परिभाषित किया गया है: core.trac.wordpress.org/browser/trunk/wp-admin/includes/…
जॉन पी

27

मैंने उसी समस्या का सामना किया था।

मैंने इसे Ubuntu सर्वर पर हल करने के लिए निम्नलिखित किया:

  1. में /etc/apache2/apache2.conf , संपादित AllowOverride कोई नहीं के लिए / var / www / करने के लिए AllowOverride सभी

  2. .Htaccess के लिए mod_rewrite को सक्षम करने के लिए निम्न कमांड टाइप करें

सुडो a2enmod फिर से लिखना

  1. अपने अपाचे सर्वर को पुनरारंभ करें:

sudo service apache2 पुनरारंभ

समस्या हल हो गई !!!


धन्यवाद, मैं किसी भी अन्य सुझावों के साथ यह तय नहीं कर सका, लेकिन a2enmod rewriteचाल चली।
मार्टिन मैक्लेअन

+1 रीराइट मॉड का उल्लेख करने के लिए। एहसास नहीं था कि यह डिफ़ॉल्ट रूप से सक्षम नहीं था।
देशी कोडर

निश्चित रूप से जरूरत है कि sudo a2enmod rewriteइस जागने के लिए, धन्यवाद!
हस्की 69

1
धन्यवाद! कमान a2enmod rewriteने मेरे लिए चाल चली।
लुकास बेसकंटोक्ट

धन्यवाद अविनाश! लुकास के साथ एक ही है, a2enmod पुनर्लेखन मेरे लिए चाल किया था
Jero Dungog

1

सबसे अधिक संभावना है कि .htaccessफ़ाइल को कॉपी नहीं किया गया था। मैक ओएस एक्स पर, और कुछ एफ़टीपी अनुप्रयोगों में, यह फ़ाइल "छिपी" मानी जाती है क्योंकि यह ए से शुरू होती है .। यदि आप अपने एडमिन सेक्शन में सेटिंग्स -> पेरामलिंक सेक्शन में जाते हैं, तो आप इस फाइल को पुनः प्राप्त कर सकते हैं, लेकिन यह संभव है कि आपके द्वारा पूर्व में लिए गए संस्करण को खोजा जाए और फिर से उपयोग किया जाए (विशेषकर यदि आप कैशिंग प्लगइन का उपयोग करते हैं)।


1

Ubuntu 14.04 में - 000-default.conf फ़ाइल यहां पाई जा सकती है/etc/apache2/sites-available

या यदि आप कई wp चलाते हैं तो वर्चुअल होस्ट सेटिंग आपका कॉन्फिग फाइल नाम होगा। जैसे domain.conf

आपको बदलना AllowOverride NoneहोगाAllowOverride All

उम्मीद है कि यह काम करेगा।


0

क्या आपको वेब सर्वर 404 या वर्डप्रेस 404 मिलता है? यदि यह एक वेब सर्वर 404 है, तो आप पुराने इंस्टॉलेशन से रूट htaccess फ़ाइल की प्रतिलिपि बनाने की सबसे अधिक संभावना नहीं रखते हैं, या इसे चलाने की सही अनुमति नहीं है।

मेरा पहला समस्या निवारण आइटम यह देखने और देखने के लिए होगा कि क्या कोई htaccess फ़ाइल रूट में मौजूद है। और यदि हां, तो इसमें क्या है।


.Htaccess फ़ाइल की जाँच की। इसमें वही कोड होता है जो वर्डप्रेस एडमिन पैनल के पर्मलिंक सेक्शन में दिखाई देता है। मैंने अनुमतियों को लेखन योग्य में बदल दिया है और कोई स्पष्ट परिवर्तन नहीं देख सकता है।
mikeyrocks

3
@mikeyrocks हम्म ... एक और संभावना यह है कि आपके नए सर्वर में mod_rewrite चालू नहीं है। महत्वपूर्ण: क्या आप एक सर्वर 404 (सादे सफेद पृष्ठ जो "नहीं मिला" कहते हैं), या एक वर्डप्रेस 404 (आपकी साइट के बाकी हिस्सों की तरह स्टाइल) प्राप्त कर रहे हैं?
मैथ्समैथ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.