Как удалить index.php в URL-адресе Codeigniter?
http://localhost/Sample/index.php
чтобы просто
http://localhost/Sample
Я искал весь день в Интернете, и ничего не работает. Я использую Apache2.2, а mod_rewrite в httpd.conf уже включен. Версия, которую я использую, – Codeigniter 2.1.4.
Пожалуйста, научите меня шаг за шагом. Я все еще очень новичок в Codeigniter Framework. Благодаря !
Вы можете использовать приведенный ниже код в файле .htaccess:
RewriteEngine On RewriteBase /my_project_name/ # Do not enable rewriting for files or directories that exist RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # Rewrite to index.php/URL RewriteRule ^(.*)$ index.php/$1 [PT,L]
Есть два места, которые вы должны внести в это изменение: один находится в вашем /application/config/config.php
:
/* |-------------------------------------------------------------------------- | 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'] = '';
Удалите index.php
с индексной страницы.
2-е место (как упоминалось) при обновлении / создании вашего файла .htaccess
, который находится в той же корневой папке, что и ваш основной файл index.php
.
Referer к руководству CI: http://ellislab.com/codeigniter/user-guide/general/urls.html
Это все в руководстве …
Попробуйте это в файле .htaccess, который находится в корневой папке:
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond $1 !^(index\.php) RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
You just need to create .htaccess file in project folder and write: RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # Rewrite all other URLs to index.php/URL RewriteRule ^(.*)$ index.php?url=$1 [PT,L] </IfModule> <IfModule !mod_rewrite.c> ErrorDocument 404 index.php </IfModule> #And You don't need to define in base_url in config file: $config['base_url'] = '';// blank it. I hope it will work perfectly ...