codeigniter
Codeigniter में बेस url
खोज…
Codeigniter में अपना बेस url सेट करना
आपको अपना आधार URL application/config/config.php
में सेट करना होगा
यदि यह सेट नहीं किया गया है, तो CodeIgniter प्रोटोकॉल और आपकी स्थापना के लिए पथ का अनुमान लगाने की कोशिश करेगा, लेकिन सुरक्षा चिंताओं के कारण होस्टनाम $_SERVER['SERVER_ADDR']
उपलब्ध होगा यदि उपलब्ध हो, या $_SERVER['SERVER_ADDR']
। ऑटो-डिटेक्शन मैकेनिज्म केवल विकास के दौरान सुविधा के लिए मौजूद है और उत्पादन में उपयोग नहीं किया जाना चाहिए!
$config['base_url'] = '';
इसे दर्ज किया जाना चाहिए
$config['base_url'] = 'http://localhost/projectname/';
$config['base_url'] = 'http://www.example.com/';
हमेशा उपयोग करने के लिए अच्छा /
के अंत में base_url
जब आप अपना आधार URL सेट नहीं करते हैं, तो आप कुछ ऐसी त्रुटियों में भाग सकते हैं, जहाँ आप अपने CSS, चित्र और अन्य संपत्ति आइटम लोड नहीं कर सकते। और साथ ही आपको फॉर्म जमा करने में परेशानी हो सकती है क्योंकि कुछ उपयोगकर्ता भर में आ गए हैं।
अपडेट करें
यदि आप अपना आधार URL किसी अन्य तरीके से सेट नहीं करना चाहते हैं।
application/core/MY_Config.php
में एक नई कोर फ़ाइल बनाएँ
और इस कोड को पेस्ट करें
<?php
class MY_Config extends CI_Config {
public function __construct() {
$this->config =& get_config();
log_message('debug', "Config Class Initialized");
// Set the base_url automatically if none was provided
if ($this->config['base_url'] == '')
{
if (isset($_SERVER['HTTP_HOST']))
{
$base_url = isset($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) !== 'off' ? 'https' : 'http';
$base_url .= '://'. $_SERVER['HTTP_HOST'];
$base_url .= str_replace(basename($_SERVER['SCRIPT_NAME']), '', $_SERVER['SCRIPT_NAME']);
}
else
{
$base_url = 'http://localhost/';
}
$this->set_item('base_url', $base_url);
}
}
}
Base_url के बारे में कुछ और
यदि मैं base_url
सेट नहीं करता तो क्या होगा?
इसे सेट करने और आगे बढ़ने के लिए आपको कोई इम्पोटेंसी त्रुटि नहीं मिलेगी। आप सेटिंग के बिना जारी रख सकते हैं, लेकिन आपको HTTP हेडर इंजेक्शन के बारे में पता होना चाहिए
अगर मैंने इसे सेट नहीं किया तो क्या दिखाई देगा?
आपको अपने वास्तविक URL के बजाय http://[::1]/
मिलेगा।
इसका क्या मतलब है http://[::1]/
??
यह अस्थायी URL है जो CI द्वारा डिफ़ॉल्ट रूप से सेट किया गया है। यह आपके दस्तावेज़ की जड़ को इंगित करेगा।
::1
- सर्वर एड्रेस (लोकलहोस्ट) इसके बारे में और पढ़ें
कैसे उचित base_url()
सेट करें?
बेस URL हमेशा आपके प्रोजेक्ट फ़ोल्डर की जड़ में होना चाहिए। (आवेदन फ़ोल्डर के बाहर)
$config['base_url'] = 'http://localhost/path/to/project'; # If localhost
$config['base_url'] = 'http://stackoverflow.com/'; # If live
$config['base_url'] = 'http://stackoverflow.com/documentation'; # If live & inside subdomain (assume documentation is subfolder/subdomain)
base_url()
का उपयोग कैसे करें ??
सबसे आम उपयोग अपने जेएस या सीएसएस फ़ाइलों के लिए सही रास्ता खोजने के लिए है।
<link rel="stylesheet" href="<?php echo base_url('styles/style.css');?>" />
<script src="<?php echo base_url('vendor/jquery/jquery.min.js');?>"></script>
आपके विचार में ऊपर दिए गए कोड को जोड़ने से नीचे HTML उत्पन्न होगा:
<link rel="stylesheet" href="http://localhost/path/to/project/styles/style.css" />
<script src="http://localhost/path/to/project/vendor/jquery/jquery.min.js"></script>
लिंक
Base_url को सेट करने का स्मार्ट तरीका
कोड की निम्न पंक्तियाँ base_url
कोड को base_url
में स्थापित करने का अधिक स्मार्ट तरीका है:
$config['base_url'] = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") ? "https" : "http");
$config['base_url'] .= "://".$_SERVER['HTTP_HOST'];
$config['base_url'] .= str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']);
की सिफारिश की है
$config['base_url'] = 'https://stackoverflow.com/';
क्योंकि सभी को होस्टिंग स्पेस का पता होता है। तो अगर आप इस तरह सेट करते हैं, तो आप अपनी साइट / होस्ट को इंजेक्शन रोक सकते हैं ।