The default rewrite url of CI is similar to this. For example, if your CI root directory is under/CodeIgniter/, your second-level url is similar to http: // localhost/CodeIgniter/index. php/welcome. Not very nice. How can I remove index. php from it?
1. Open the apache configuration file, conf/httpd. conf:
LoadModule rewrite_module modules/mod_rewrite.so, remove the # Before the row.
Search for AllowOverride None (there are multiple configuration files), view the comments, and change the row information of related. htaccess to AllowOverride All.
2. under the root directory of CI, that is, in index. php, system directory at the same level, create. htaccess, directly creating the file name will not succeed, you can first create a notepad file, save it as a file with this name. The content is as follows (this is also introduced in the CI manual ):
RewriteEngine on RewriteCond $1 !^(index\.php|images|robots\.txt) RewriteRule ^(.*)$ /index.php/$1 [L]
If the file is not in the root directory of www, for example, my file is http://www.bkjia.com/codeigniter/, and the third line is changed to rewriterule ^ (. *) $/CodeIgniter/index. php/$1 [L].
In addition, my index. php Directory has the js folder and css folder under the same level, which need to be filtered out, and the second line needs to be rewritten as: RewriteCond $1! ^ (Index \. php | images | js | css | robots \. txt)
3. set the configuration file (system/application/config. $ config ['index _ page'] = "index. php "; set $ config ['index _ page'] = "";.
/*|--------------------------------------------------------------------------| Index File|--------------------------------------------------------------------------|| Typically this will be your index.php file, unless you've renamed it to| something else. If you are using mod_rewrite to remove the page set this| variable so that it is blank.|*/$config['index_page'] = '';
OK. Remember to restart apache.
That's easy. Have a good experience with CI ~