2016-09-21 5 views
5

मैंने php codeigniter में एक प्रोजेक्ट विकसित किया। परियोजना लगभग पूरी हो चुकी है लेकिन अब मेरा प्रबंधक चाहता है कि मैं यूआरएल में नियंत्रक नामों को पूरी तरह से हटा या छुपाएं। मेरे वर्तमान URL ऐसा दिखाई देगा:यूआरएल में नियंत्रक नाम को हटाने या छिपाने का कोई तरीका है? कोडिनेटर

http://www.sitename.com/Controller_Name/function_name

और मेरे प्रबंधक यह चाहता है इस तरह देखने के लिए:

http://www.sitename.com/function_name

ध्यान दें कि मैं 10 से अधिक है मेरे प्रोजेक्ट में नियंत्रक और कई सारे फ़ंक्शन। मुझे एक विधि चाहिए जो सभी पर लागू होती है। कृपया मदद करें।

+0

आप यूआरएल रीराइटिंग –

+0

का उपयोग कर सकते हैं क्या आपने यह जांच की है :: http://stackoverflow.com/questions/12863095/how-to-remove-controller-name-from-url-making-it-clean-in-codeigniter ...? –

+0

आप इसे कर सकते हैं, लेकिन आपके मामले में मुझे नहीं लगता कि आप एक विधि का उपयोग कर सकते हैं जो सभी पर लागू होता है ... – Kamae

उत्तर

7

आप $route का उपयोग कर ऐसा कर सकते हैं।

आप केवल एक Controller और कहा कि नियंत्रक में है, तो आप सभी functions आप कुछ इस तरह लिख सकते हैं: आप कई Controllers आप प्रत्येक function क्या नियंत्रक बात करने के लिए के लिए निर्दिष्ट करने की आवश्यकता है, तो

$route['(:any)'] = "Controller_Name/$1"; 

। इस तरह: application/config/routes.php:

$route['function1'] = "Controller_Name1/function1"; 
$route['function2'] = "Controller_Name1/function2"; 
$route['function3'] = "Controller_Name3/function3"; 

और तुम $route

यह $route सरणी यहाँ स्थित होना चाहिए में डुप्लिकेट नहीं हो सकता।

आप सीआई प्रलेखन यहाँ पर मार्गों के बारे में अधिक देख सकते हैं: https://www.codeigniter.com/userguide3/general/routing.html

1

आप मार्गों नीचे

$ मार्ग [ 'function_name'] = 'controller_name तरह फाइल में अपनी नियंत्रक और विधि नाम निर्दिष्ट करने के लिए है/function_name ';

आप दो फायदे

प्राप्त कर controller.By में प्रत्येक कार्य के लिए इस लिखने की

1) नियंत्रक नाम आपके url में छिपाया जाएगा 2) यदि आप इसके नाम only.No जरूरत से कुछ विधि कॉल कर सकते हैं हर बार नियंत्रक नाम का उपयोग करने के लिए।

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