दिलचस्प पोस्ट
कैसे एक मूल तत्व मँडरा जब माता पिता तत्व शैली करने के लिए? आधुनिक पर्ल डिफ़ॉल्ट रूप से UTF-8 से क्यों बचता है? कैसे साफ मोड में ग्रहण चलाने के लिए? और अगर हम ऐसा करते हैं तो क्या होता है? यूट्यूब iframe खिलाड़ी एपीआई – ऑनस्टेट चेंज नहीं फायरिंग मैं एक UIButton subclass क्यों नहीं होना चाहिए? SQL सर्वर एक्सप्रेस की सीमाएं लॉक स्टेटमेंट के शरीर में 'प्रतीक्षा' ऑपरेटर का उपयोग क्यों नहीं किया जा सकता? एक इंटरैक्टिव प्रोग्राम के लिए द्विगुणिक अंतरण नहीं करना क्या कोई इस टेम्पलेट कोड को समझा सकता है जो मुझे सरणी का आकार देता है? एंड्रॉइड में चालू चलने वाले अनुप्रयोगों की जांच कैसे करें? विस्तारित वर्ग के भीतर से 'इस' कीवर्ड को एक्सटेंशन विधि को कॉल करने की आवश्यकता क्यों है? कैसे अलग AngularJS नियंत्रक फ़ाइलें बनाने के लिए? इनपुट के अनुसार गतिशील दो आयाम सरणी जावास्क्रिप्ट में कस्टम कॉलबैक बनाएं आई ++ और ++ आई में क्या अंतर है?

CodeIgniter htaccess और URL पुनर्लेखन समस्याएं

मैंने पहले कभी CodeIgniter का इस्तेमाल नहीं किया है, किसी भी php ढांचे को अकेले छोड़ दिया और मैंने सोचा कि मैं इसे कोशिश करूँगा सब कुछ ठीक चल रहा है, इसके अलावा मैं यूआरएल से index.php को हटा नहीं सकता और फिर भी मेरे पेजों तक पहुंच सकता है।

मैंने कभी भी एमवीसी संरचना का इस्तेमाल नहीं किया है इसलिए मैं सीख रहा हूं कि मैं जाऊं, तो मुझे माफ कर दो अगर मैं यह गलत कर रहा हूं।

मैं बस स्थानीयहोस्ट / सीआई / के बारे में टाइप करके 'about_page.php' नामक एक दृश्य का उपयोग करने की कोशिश कर रहा हूं, लेकिन वर्तमान में मैं केवल स्थानीयहोस्ट / सीआई / इंडेक्स.एफ़पी / द्वारा उपयोग कर सकते हैं

पृष्ठ के लिए नियंत्रक है: /application/controllers/about.php
पृष्ठ के लिए मॉडल है: /application/models/about_model.php
और पृष्ठ के लिए देखें: /application/views/about_page.php

मैंने इस मुद्दे के समाधान की खोज की है, लेकिन एक को खोजने में असमर्थ हैं यहां वह जगह है जहां मैंने पहले ही खोज की है:

CodeIgniter – index.php को हटाने
Codeigniter – url से index.php को कैसे निकालना है?
http://www.farinspace.com/codeigniter-htaccess-file/

CodeIgniter 'आवेदन' फ़ोल्डर में एक .htaccess फ़ाइल के साथ आता है जिसमें केवल Allow Deny From All इसलिए मैंने रूट निर्देशिका में एक नई। Htaccess फ़ाइल बनाई, http://localhost/ci/.htaccess और इसमें यह कोड जोड़ा:

 RewriteEngine On RewriteBase /ci RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L] 

जब .htaccess फ़ाइल रूट निर्देशिका में है, तो मुझे 500 आंतरिक सर्वर त्रुटि मिलती है। जब मैं सटीक एक ही फाइल को अनुप्रयोग फ़ोल्डर में कॉपी करता हूं तो 500 त्रुटि दूर हो जाती है, लेकिन मैं अभी भी लोकलहोस्ट / सीआई / के उपयोग के बारे में इस पृष्ठ को एक्सेस नहीं कर सकता

मैंने पहले से ही $config['index_page'] = 'index.php'; बदल दिया है $config['index_page'] = 'index.php'; $config['index_page'] = ''; और मैंने $config['uri_protocol'] = 'AUTO'; बदलने की कोशिश $config['uri_protocol'] = 'AUTO'; $config['uri_protocol'] = 'REQUEST_URI'; लेकिन मैं अभी भी आंतरिक सर्वर त्रुटि मिल रहा है

मैं httpd.conf फ़ाइल में गया और mod_rewrite.so मॉड्यूल को हटा दिया ताकि मैं जानता हूँ कि mod_rewrite सक्रिय है।

क्या किसी के पास कोई विचार है कि यह क्यों काम नहीं कर रहा है या मैं यह काम कैसे प्राप्त करूं? मुझे पता है कि इस विषय पर स्टैक ओव्हरफ्लो पर बहुत सारे सवाल हैं लेकिन मुझे वह सवाल नहीं मिला जिसने मेरे प्रश्न का उत्तर दिया।

क्या मैं इसे ठीक से कर रहा हूं? क्या मैं ' लोकलहोस्ट / सीआई ' के बारे में यहां जाकर या 'एप्लीकेशन' डायरेक्टरी में 'के बारे में' डायरेक्टरी बनाने के बारे में भी पृष्ठ के बारे में जान सकता हूं?

वेब के समाधान से एकत्रित समाधान "CodeIgniter htaccess और URL पुनर्लेखन समस्याएं"

index.php को हटाने के लिए 3 कदम हैं

  1. application/config.php फ़ाइल में परिवर्तन नीचे करें

     $config['base_url'] = 'http://'.$_SERVER['SERVER_NAME'].'/Your Ci folder_name'; $config['index_page'] = ''; $config['uri_protocol'] = 'AUTO'; 
  2. नीचे कोड का उपयोग करके अपनी रूट निर्देशिका में .htaccess फ़ाइल बनाएं

     RewriteEngine on RewriteCond $1 !^(index\.php|resources|robots\.txt) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L,QSA] 
  3. फिर से लिखना इंजन सक्षम करें (यदि पहले से ही सक्षम नहीं है)

    मैं। सबसे पहले, इसे निम्नलिखित कमांड के साथ आरंभ करें:

     a2enmod rewrite 

    ii। फाइल को संपादित करें /etc/apache2/sites-enabled/000-default

    सभी को अनुमति AllowOverride None सबको अनुमति AllowOverride None सभी को बदलें।

    नोट: नवीनतम संस्करण में आपको /etc/apache2/apache2.conf फ़ाइल में बदलना होगा

    iii। निम्नलिखित कमांड के साथ अपने सर्वर को पुनरारंभ करें:

     sudo /etc/init.d/apache2 restart 

आपकी .htaccess थोड़ा दूर है मेरा ध्यान दें:

  RewriteEngine On RewriteBase /codeigniter RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond $1 !^(index\.php|images|robots\.txt|css|docs|js|system) RewriteRule ^(.*)$ /codeigniter/index.php?/$1 [L] 

नोटिस "कोडिग्निटर" दो जगहों पर।

इसके बाद, आपकी कॉन्फ़िग में:

 base_url = "http://localhost/codeigniter" index = "" 

कोडिग्नेटर को "सीआई" के अनुसार उचित बदलें

 <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /dmizone_bkp RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond $1 !^(index\.php|images|robots\.txt|css|docs|js|system) RewriteRule ^(.*)$ /dmizone_bkp/index.php?/$1 [L] </IfModule> 

यह मेरे लिए काम करता है

रूट फ़ोल्डर में अपने .htaccess फ़ाइल को ले जाएँ (मेरे मामले में एप्लिकेशन फ़ोल्डर के पहले की स्थिति जानें)

 RewriteEngine on RewriteBase /yourProjectFolder RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule .* index.php/$0 [PT,L] 

मेरा config.php इस तरह दिखता है (application / config / config.php )

 $config['base_url'] = ""; $config['index_page'] = "index.php"; $config['uri_protocol'] = "AUTO"; 

मुझे पता है कि इसके लिए आप लोग भी काम कर रहे हैं! चीयर्स!

यदि काम नहीं कर रहा है

 $config['uri_protocol'] = 'AUTO'; 

इसे बदलने के लिए

 $config['uri_protocol'] = 'PATH_INFO'; 

यदि काम नहीं कर रहा है तो इसे बदलने के लिए

 $config['uri_protocol'] = 'QUERY_STRING'; 

अगर इस का उपयोग करें

 $config['uri_protocol'] = 'ORIG_PATH_INFO'; 

पुनर्स्थापना या हैडर स्थान के साथ एचटीएसी में नहीं यूआरएल काम नहीं करेगा आप काम करने के लिए htaccess में यूआरएल जोड़ना होगा

वैम्प सर्वर के उन उपयोगकर्ताओं के लिए, राउल चिपदा के समाधान के पहले दो चरणों का पालन करें:

  1. वैम्प आइकन (सामान्य रूप से हरे रंग में) पर क्लिक करें, "अपाचे"> "अपाचे मॉड्यूल"> "पुनर्लेखन_मॉड्यूल" पर जाएं। "पुनर्लेखन_मॉड्यूल" को चेक किया जाना चाहिए! और फिर यह जाने का रास्ता है!

मैं इस तरह से कुछ का उपयोग कर रहा हूं- codeigniter-htaccess-file , यह एक अच्छा लेख है जिसके साथ शुरू होता है

  • सीआई रूट डायर में .htaccess फ़ाइल को छोड़ दें
  • सुनिश्चित करें कि mod_rewrite चालू है
  • टाइपो के लिए जांचें (यानी नियंत्रक फ़ाइल / वर्ग का नाम)
  • /application/config/config.php में $config['index_page'] = ""; सेट करें $config['index_page'] = "";
  • /application/config/routes.php में अपने डिफ़ॉल्ट नियंत्रक $route['default_controller']="home"; सेट करें $route['default_controller']="home";

यदि आप सीआई (2.1.3) की साफ स्थापना चल रहे हैं तो वास्तव में बहुत गलत नहीं हो सकता है

  • 2 config फाइलें
  • नियंत्रक
  • .htaccess
  • mod_rewrite

पढ़ना

  • Codeigniter .htaccess
  • अनुप्रेषित सूचकांक-php में CodeIgniter

बस .htaccess फ़ाइल में इसे जोड़ें:

 DirectoryIndex index.php RewriteEngine on RewriteCond $1 !^(index\.php|images|css|js|robots\.txt|favicon\.ico) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ ./index.php?/$1 [L,QSA]