Issues in removing index.php in CodeIgniter 3

前端 未结 10 1365
灰色年华
灰色年华 2021-01-13 06:53

I want to access my URL\'s without index.php in CodeIgniter. Here is my Blog controller

class Blog extends CI_Controller {

    pub         


        
相关标签:
10条回答
  • 2021-01-13 07:44

    To remove index.php create a .htaccess file in the same folder as your site’s main index.php file.
    Then add the following code to this newly created .htaccess file:

    <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteBase /
    
        # Removes index.php from ExpressionEngine URLs
        RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC]
        RewriteCond %{REQUEST_URI} !/system/.* [NC]
        RewriteRule (.*?)index\.php/*(.*) /$1$2 [R=301,NE,L]
    
        # Directs all EE web requests through the site index file
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule ^(.*)$ /index.php/$1 [L]
    </IfModule>
    

    this code have two parts
    1 - remove index.php
    2 - redirect all site requests to the index file.

    0 讨论(0)
  • 2021-01-13 07:49

    in config.php

    $config['base_url'] = '';
    $config['index_page'] = '';
    

    in .htacess

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1 [L] 
    </IfModule>
    
    0 讨论(0)
  • 2021-01-13 07:51

    finally this is worked fine for me. i have changed .htaccess file with this content

    <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteBase /codeigniter
    
        #Removes access to the system folder by users.
        #Additionally this will allow you to create a System.php controller,
        #previously this would not have been possible.
        #'system' can be replaced if you have renamed your system folder.
        RewriteCond %{REQUEST_URI} ^system.*
        RewriteRule ^(.*)$ /index.php?/$1 [L]
    
        #When your application folder isn't in the system folder
        #This snippet prevents user access to the application folder
        #Submitted by: Fabdrol
        #Rename 'application' to your applications folder name.
        RewriteCond %{REQUEST_URI} ^application.*
        RewriteRule ^(.*)$ /index.php?/$1 [L]
    
        #Checks to see if the user is attempting to access a valid file,
        #such as an image or css document, if this isn't true it sends the
        #request to index.php
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule ^(.*)$ index.php?/$1 [L]
    
    
        </IfModule>
    
        <IfModule !mod_rewrite.c>
            # If we don't have mod_rewrite installed, all 404's
            # can be sent to index.php, and everything works as normal.
            # Submitted by: ElliotHaughin
    
        ErrorDocument 404 /index.php
    </IfModule>
    

    And these changes made

        $config['index_page'] = "index.php" 
            //replace with the below code
            $config['index_page'] = ""
    $config['base_url'] = "your-project-url";
    
    0 讨论(0)
  • 2021-01-13 07:54

    Alright, i've been strugling with this for two days, and here is my solution for XAMPP and CodeIgniter 3

    Create new ".htaccess" file in root directory (not in CodeIgniter's application folder, where there's another htacces file, don't touch that one), with this inside:

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

    Then, find and change this values on config.php (CodeIgniter file, on config folder):

    $config['base_url']     = 'localhost/YourProject';
    $config['index_page']   = '';
    $config['uri_protocol'] = 'REQUEST_URI';
    

    Finally, on httpd.conf (Apache config file), find:

    #LoadModule rewrite_module modules/mod_rewrite.so

    and uncomment the line (remove #).


    That's it! Now

    localhost/myProject/news

    works as if I write

    localhost/myProject/index.php/news
    
    0 讨论(0)
提交回复
热议问题