TLDR:
एक गैर-मानक स्थापना में, आप अपनी वर्डप्रेस फ़ाइलों को अपनी वेबसाइट के रूट में एक उपनिर्देशिका में रख सकते हैं।
... और फिर भी आपके आगंतुकों को आपकी साइट के डोमेन (रूट) URL से आपकी वर्डप्रेस "वेबसाइट" का उपयोग करने की अनुमति देता है, बिना उपनिर्देशिका नाम को संलग्न किए बिना:
(यानी: www.example.comबनाम www.example.com/wordpress):
WP function | wp_options. | WP constant | what it represents | WP Settings Label | Example
-------------------------------------------------------------------------------------------------------------------------------------
`site_url()` | `siteurl` | `WP_SITEURL` | WordPress files location | WordPress Address | https://www.example.com/wordpress
`home_url()` | `home` | `WP_HOME` | browser address bar | Site Address | https://www.example.com
जहां WP स्थिरांक के लिए मान wp_options / WP सेटिंग्स मान पर पूर्वता लेता है।
वर्डप्रेस के लिए विभिन्न कॉन्फ़िगरेशन
सबसे मानक वर्डप्रेस इंस्टॉलेशन में, home_urlऔर site_urlसमान मूल्य होगा।
भले ही, वे दो अलग-अलग चीजों का प्रतिनिधित्व करते हैं।
एक गैर-मानक स्थापना में, उनके भिन्न मूल्य हो सकते हैं।
नोट: मैं आसानी से पठनीयता के लिए अपने जवाब में प्रोटोकॉल छोड़ रहा हूं।
इस पोस्ट के साथ प्रारंभ में लगा हर यूआरएल में:
https://, http://या //
(जब तक मैं यह पहले से ही शामिल है)।
( //है relativeप्रोटोकॉल और के लिए या तो / दोनों काम करेंगे http://या https://)
मानक प्रतिष्ठान ("वन-क्लिक" इंस्टॉल सहित)
home_url: आपकी (वर्डप्रेस) वेबसाइट का मुख पृष्ठ है, जैसा कि उपयोगकर्ता के पता बार में दिखाया गया है।
site_url: वह निर्देशिका है जहां आपकी वर्डप्रेस फाइलें स्थित हैं।
वर्डप्रेस की 5 मिनट की इंस्टॉल वर्डप्रेस फाइलें इन दो मानों को एक समान बनाती हैं - वर्डप्रेस फाइलें उसी फ़ोल्डर में स्थापित की जाएंगी जिसे आप चाहते हैं कि लोग आपकी वेबसाइट, या आपके सर्वर की वेबसाइट के वर्डप्रेस (ब्लॉग) हिस्से का उपयोग करें।
उदाहरण 1:
: उपयोगकर्ता पर अपने ब्लॉग तक पहुँचता है www.example.com,
वर्डप्रेस पर स्थापित फ़ाइलों: www.example.com, या अपने सर्वर की वेबसाइट के रूट फ़ोल्डर।
home_url=== site_url==="www.example.com"
उदाहरण 2:
उपयोगकर्ता पर अपने ब्लॉग तक पहुँचता है: www.example.com/blog,
वर्डप्रेस फ़ाइलों पर स्थापित: www.example.com/blog, या में blogअपनी वेबसाइट की जड़ के अंदर फ़ोल्डर।
home_url=== site_url==="www.example.com/blog"
इस मामले www.example.comमें मुख्य वेबसाइट है, और www.example.com/blogआपके ब्लॉग की जड़ है।
यहाँ आपका ब्लॉग अलग हो गया है, और आपकी मुख्य वेबसाइट के सबसेट के रूप में काम करता है।
इस मामले में, अपने मुख्य वेबसाइट है नहीं नियंत्रित, परिभाषित, या स्टाइल से वर्डप्रेस।
बस आपका ब्लॉग है आपके ब्लॉग के सभी url को आगे बढ़ाया जाएगाwww.example.com/blog
नोट: प्रलेखन में, "वर्डप्रेस साइट / वेबसाइट" (केवल "साइट / वेबसाइट" के विपरीत) उस निर्देशिका को संदर्भित करता है जहां आपकी वर्डप्रेस फाइलें स्थापित हैं। इस मामले में, यह है www.example.com/blog- blogफ़ोल्डर के भीतर सब कुछ । इस परिदृश्य में "वर्डप्रेस वेबसाइट", आपके डोमेन, आपकी जड़ या आपकी मुख्य वेबसाइट के समान नहीं है। यह आपकी समग्र वेबसाइट का सबसेट है। एक वेबसाइट के अंदर एक वेबसाइट की तरह की तरह। मैं इसका उल्लेख करता हूं क्योंकि यह शब्दावली स्पष्ट या भ्रमित करने वाली लग सकती है, यह विशेष रूप से सेटअप को देखते हुए।
वैकल्पिक वर्डप्रेस इंस्टॉलेशन कॉन्फ़िगरेशन
वर्डप्रेस अपनी खुद की निर्देशिका , अनुभाग दे रही हैMethod II (With URL change) ।
उदाहरण के लिए, बहुत से लोग अपनी वेबसाइट के रूट फ़ोल्डर को सभी वर्डप्रेस फ़ाइलों के साथ रोकना नहीं चाहते हैं।
वे एक उपनिर्देशिका में वर्डप्रेस स्थापित करना चाहते हैं, * लेकिन "ब्लॉग" या "वर्डप्रेस वेबसाइट" तक पहुंच है जैसे कि वेबसाइट के लिए सर्वर के रूट में फाइलें स्थापित की गई थीं।
यह विशेष रूप से सच है जब वर्डप्रेस का उपयोग पूरी वेबसाइट बनाने और चलाने के लिए किया जाता है जिसमें "ब्लॉग" भी नहीं होता है।
उदाहरण 3:
: उपयोगकर्ता अपने पर "ब्लॉग" तक पहुँचता है www.example.com,
वर्डप्रेस पर स्थापित फ़ाइलों: www.example.com/wordpress, या अपने सर्वर की वेबसाइट के रूट फ़ोल्डर।
home_url=== "www.example.com"
site_url==="www.example.com/wordpress"
(नोट: यह कॉन्फ़िगरेशन केवल इन चरों के मूल्यों को बदलकर "आउट ऑफ द बॉक्स" नहीं चलेगा। इसे ठीक से काम करने के लिए अतिरिक्त कॉन्फ़िगरेशन परिवर्तन की आवश्यकता है)
देखें कि वर्डप्रेस अपनी खुद की निर्देशिका , यह Method II (With URL change)कैसे करें के लिए शीर्षक वाला अनुभाग देखें ।
में इस मामले home_urlऔर site_urlविभिन्न मूल्यों धारण करना चाहिए।
इस सेटअप में, आप चाहते हैं कि आपकी वेबसाइट ठीक उसी तरह काम करे जैसे कि आपकी वेबसाइट के लिए सर्वर की रूट डायरेक्टरी में वर्डप्रेस फाइलें इंस्टॉल की गई थीं ...
लेकिन, सर्वर पर संगठनात्मक उद्देश्यों के लिए,
आपके पास वास्तवwordpress में सर्वर में बुलाए गए फ़ोल्डर में आपकी वर्डप्रेस फाइलें हैं अपनी वेबसाइट के लिए रूट निर्देशिका।
इसलिए, उपयोगकर्ता www.example.comआपके वर्डप्रेस होम पेज को प्राप्त करने के लिए टाइप करेगाwww.example.com/wordpress
वर्डप्रेस फ़ंक्शन <-> डेटाबेस चर <-> वर्डप्रेस कॉन्स्टेंट
यह खंड उपर्युक्त 3 विन्यास को मानता है।
पता बार url: www.example.com
wordpress files: / wordpress directory
(अन्य मामले तुच्छ हैं: सभी चर / फ़ंक्शन समान मान रखते हैं / वापस करते हैं।)
के लिए मान कैसे सेट करें
site_urlऔर
home_url
पहले, मुझे ध्यान दें कि siteurlऔर homeऊपर के कार्यों द्वारा लौटाए गए मानों को संग्रहीत करें
1) आम तौर पर आप ये मान वर्डप्रेस बैकएंड / डैशबोर्ड / एडमिन पैनल पर सेट करते हैं:
Settings -> General ->
siteurl वर्डप्रेस एड्रेस: https://www.example.com/wordpress
home साइट एड्रेस: https://www.example.com
(यहां ट्रेलिंग स्लैश शामिल न करें - जो कहीं और कॉन्फ़िगर किया जाएगा)
2) वैकल्पिक रूप से, आप इन मूल्यों को अपने वर्डप्रेस डेटाबेस में सेट करते हैं:
wp_optionsटेबल ->
`options_name` | `options_value`
----------------------------------------------------
`siteurl` | `https://www.example.com/wordpress`
`home` | `https://www.example.com`
(यहां ट्रेलिंग स्लैश शामिल न करें - जो कहीं और कॉन्फ़िगर किया जाएगा)
3) संपादित करें अपने wp-config.php
परिभाषित इन विशिष्ट स्थिरांक पकड़ करने के लिए अपने मूल्यों
को परिभाषित करें WP_HOMEऔर WP_SITEURLअपने के ऊपर की ओर इन पंक्तियों डालने से सेटिंग wp-config.phpफ़ाइल:
define('WP_SITEURL','http://example.com/wordpress'); // wordpress core files
define('WP_HOME','http://example.com'); // address bar url
// ** MySQL settings - You can get this info from your web host ** //
...
(यहां ट्रेलिंग स्लैश शामिल न करें - जो कहीं और कॉन्फ़िगर किया जाएगा)
संदर्भ: WP_SITEURL और WP_HOME
नोट: यह भ्रामक है
(मैं वास्तव में चाहता हूं कि वर्डप्रेस ने सेटिंग्स को अपने php नामों के समान लेबल किया था,
जैसे कि Wordpress Site Addressऔर Home Page Addressया कुछ और अधिक पसंद करें location of WordPress Site core filesऔर browser url to access WordPress home page)
`WP_SITEURL` <--> `site_url()` <--> `siteurl` <--> Wordpress Address <--> /wordpress
`WP_HOME` <--> `home_url()` <--> `home` <--> Site Address <--> /
अब यहाँ है जहाँ यह मुश्किल हो जाता है!
यदि आपने अपनीwp-config.phpफ़ाइलमें उन स्थिरांक को परिभाषित किया है, तो इससे कोई फर्क नहीं पड़ता कि आपके डेटाबेस / सेटिंग्स पृष्ठ में आपके क्या मूल्य हैं।
वास्तव में, आप इस मूल्य को बैक एंड के माध्यम से संशोधित नहीं कर पाएंगे (इसे बाहर निकाल दिया जाएगा)। आप अभी भी अपने डेटाबेस को संपादित करके संशोधित कर सकते हैं, लेकिन ऐसा करने से आपकी साइट पर कोई प्रभाव नहीं पड़ेगा, जबकि आपके wp-config फ़ाइल में स्थिरांक मौजूद हैं।
आप फ़ाइल को कॉन्फ़िगर करते हैं आपके डेटाबेस में मान नहीं बदलेगा (या इसलिए आप सेटिंग पृष्ठ)। इसके बजाय, आपके डेटाबेस / सेटिंग्स पृष्ठ मानों को अनदेखा किया जाएगा । Wp-config ओवरराइड में मान आपके डेटाबेस सेटिंग पर ओवरराइड या पूर्वता लेता है।
तो ... रैप अप (TLDR):
WP function | wp_options. | WP constant | what it represents | WP Settings Label | Example
-------------------------------------------------------------------------------------------------------------------------------------
`site_url()` | `siteurl` | `WP_SITEURL` | WordPress files location | WordPress Address | https://www.example.com/wordpress
`home_url()` | `home` | `WP_HOME` | browser address bar | Site Address | https://www.example.com
जहां WP स्थिरांक के लिए मान wp_options / WP सेटिंग्स मान पर पूर्वता लेता है।
Wp_options रिकॉर्ड मान और WP सेटिंग्स मान समान हैं।
एक का संपादन, दूसरे की परिभाषा से।
यह एक ही चर को एक्सेस करने के सिर्फ 2 अलग-अलग तरीके हैं।
दूसरी ओर, वर्डप्रेस कॉन्स्टेंट अद्वितीय और स्वतंत्र हैं।
आंतरिक रूप से, वर्डप्रेस (PHP) स्थिरांक अपने DB समकक्षों को ओवरराइड करते हैं।
यदि wp-config में स्थिरांक को परिभाषित किया जाता है, तो यह डेटाबेस को नहीं बदलता है।
लेकिन आंतरिक रूप से वर्डप्रेस हमेशा db एक के बजाय अपने मूल्य को पसंद / उपयोग करेगा ।