2014-06-19 7 views
5

पर रीडायरेक्ट करता है एक साथी डेवलपर ने अपनी स्थानीय मशीन पर एक वर्डप्रेस वेबसाइट बनाई। फिर वह पूरी स्थापना को सर्वर पर माइग्रेट कर दिया। स्वाभाविक रूप से, एसक्यूएल में सभी लिंक localhost:8888 पर सेट किए गए थे। मैंने लिंक को ठीक करने के लिए एक SQL अद्यतन चलाया ताकि वे सही डोमेन की ओर इशारा कर सकें (जो अभी ipaddress/~username लिंक है)। मैंने अपना काम दोबारा जांच लिया है, और यह सब सही दिखता है।वर्डप्रेस लिंक सभी को डबल यूआरएल

UPDATE wp_options SET option_value = replace(option_value, 'http://olddomain.com', 'http://newdomain.com'); 
UPDATE wp_options SET option_value = replace(option_value, 'feed://www.olddomain.com', 'feed://newdomain.com'); 
UPDATE wp_posts SET guid = replace(guid, 'http://olddomain.com','http://newdomain.com'); 
UPDATE wp_posts SET post_content = replace(post_content, 'http://olddomain.com', 'http://newdomain.com'); 
UPDATE wp_postmeta SET meta_value = replace(meta_value, 'http://olddomain.com', 'http://newdomain.com'); 

मुझे लगता है कि कोडिंग का इस्तेमाल किया है, लेकिन वहाँ में उपयुक्त डोमेन जानकारी के साथ।

तो अब यह हो रहा है कि क्या हो रहा है।

जब भी मैं मुखपृष्ठ पर जाता हूं, यह काम करता है, लेकिन छवियां दिखाई नहीं देती हैं। तो मैं एक लिंक पर क्लिक करता हूं, या teh wp-admin की यात्रा करता हूं, और यह urlbar में यूआरएल दो बार दिखाता है। तो यह की तरह कुछ करने के लिए चला जाता है:

http://newdomain.com/~user/http://newdomain.com/~user/post-name-blah-blah-blah 

.htaccess फ़ाइल सभी डिफ़ॉल्ट,

है हर कारण बन सकता है क्या (यदि वर्डप्रेस एक उपनिर्देशिका में है यह सिर्फ करने के बजाय उस के लिए रीराइट नियम होना चाहिए /?) एक ही यूआरएल पर दो बार जाने के लिए साइट पर लिंक करें, अगर उनमें से कोई भी एसक्यूएल में सूचीबद्ध नहीं है?

अद्यतन:

ठीक है, तो मैं पूरे डेटाबेस मिट और ऊपर रीसेट कि, और फिर साइट ठीक काम करता है। बेशक इसका मतलब है कि मैं अपनी सारी सामग्री खो देता हूं। मुझे लगता है कि मैंने एसक्यूएल क्वेरी को लाइन के नीचे कहीं खराब कर दिया है। लेकिन मुझे कहीं भी नहीं मिल रहा है जिसमें दो यूआरएल हैं, या यह भी कारण होगा। मेरे मुद्दे को समझने के रूप में और अधिक अपडेट आ रहे हैं।

उत्तर

14

मैं इसे हल! उम्मीद है कि अगर कोई और यहां आता है और एक ही गलती है, तो इससे मदद मिलेगी। wp_options तालिका में site_url और home के लिए पंक्तियों के सामने http:// होने की आवश्यकता है। किसी भी तरह से, मेरी एसक्यूएल क्वेरी उस हिस्से को फेंक दिया। बेशक मैंने नोटिस नहीं किया क्योंकि पता सही दिखता था, क्योंकि यह सामान्य रूप से काम करता है। लेकिन इस मामले में इसने कुछ लिंक के साथ कभी खत्म होने वाला लूप नहीं बनाया, और दूसरों में सिर्फ पते को दोगुना कर दिया।

+1

आपने मेरा दिन बचाया –

3

डेटाबेस समायोजन करने के दौरान आप काम कर सकते हैं, मैं उन्हें समस्याग्रस्त होने लगता हूं। इसके बजाय, जब भी एक एक WordPress साइट ले जाता है, आप ठीक ढंग से अपने WordPress में विन्यास निम्न चर पर wp-config.php फ़ाइल में स्थापित समायोजित करने की आवश्यकता:

define('WP_SITEURL', 'http://newdomain.com/wordpress'); 
define('WP_HOME', 'http://newdomain.com/'); 
define('WP_CONTENT_DIR', '/path/to/your/wordpress/wp-content'); 
define('WP_CONTENT_URL', 'http://newdomain.com/wp-content'); 

यह newdomain.com URL का उपयोग करने के लिए स्थापित अपने लिए बाध्य करेगा। इसके अलावा, यह पहली बार इस तरह true करने के लिए सेट जब आप ऐसा करेंगे RELOCATE सेटिंग:

define('RELOCATE', true); 

मूल रूप से बताता है कि वर्डप्रेस rejigger करने के लिए (कि इसके लिए मेरी तकनीकी शब्द है) यह नई सेटिंग्स के लिए सेटिंग्स संग्रह किया गया है। और के बाद आप अपनी साइट & यह उम्मीद काम करता है के रूप में पुनः लोड है, सेट RELOCATE इस तरह false वापस करने के लिए की स्थापना:

define('RELOCATE', false); 

लेकिन आप भी इस कहते हैं:

(अगर वर्डप्रेस एक उपनिर्देशिका में है यह होना चाहिए कि बस के बजाय /?)

अगर आप उप-निर्देशिका के वर्डप्रेस दे रहे हैं बदलने के लिए है कि के लिए रीराइट नियम है। तो आइए मान लें कि वर्डप्रेस coolsite/ नामक एक उपनिर्देशिका में है।तब डिफ़ॉल्ट वर्डप्रेस .htaccess इस से बदलने के लिए:

# 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 
इस के लिए

; ध्यान दें तरह से मैं RewriteBase & पिछले RewriteRule बदल दिया है:

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

अच्छा करने के लिए मुझे इस बेहतर तरीके के बारे में बताने के लिए धन्यवाद। दुर्भाग्य से इन चीजों में से कोई भी मेरे लिए कुछ भी नहीं बदला। मैं अभी भी इन त्रुटियों को पहले जैसा ही प्राप्त कर रहा हूं। – DauntlessRob

0

अपने डेटाबेस की wp_option तालिका में site_url और Home_url के सामने http:// रखो।

संबंधित मुद्दे