dongruidian3064 2014-11-10 07:37
浏览 63
已采纳

使用.htaccess从url中删除index.php

I am using Ubuntu. and server is also linex. And my frame is codeigniter. My .htaccess code is working on local but not on server.. I am using .htaccess for removing index.php My Server Url is like http://xx.xxx.xxx.xxx/foldername/index.php/signup . Here xx.xxx.xxx.xxx is http_host.

My .htaccess code is

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /foldername/

#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_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L,QSA]

#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>

i have set in config in $config['index_page'] = '';

This all code is woking on localhost. but on server its not working.

Please tell me how to remmove index.php from url ?

  • 写回答

1条回答 默认 最新

  • duanchuonong5370 2014-11-10 07:41
    关注

    You need to have your /foldername/.htaccess like this:

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

    then in /foldername/application/config/config.php you need to have these config settings:

    $config['base_url']     = '';
    $config['index_page']   = '';
    $config['uri_protocol'] = 'AUTO';
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?