Я пробовал все в google, связанном с удалением index.php из URL-адреса в codeigniter, но у меня не было никакого решения Я использую codeigniter version 2.1.0 Как я могу удалить индексную форму my URL?Удалить index.php в codeigniter 2.1.0
Благодаря
Я пробовал все в google, связанном с удалением index.php из URL-адреса в codeigniter, но у меня не было никакого решения Я использую codeigniter version 2.1.0 Как я могу удалить индексную форму my URL?Удалить index.php в codeigniter 2.1.0
Благодаря
В application/config.php
убедитесь, что
$config['index_page'] = "";
Затем установите это как файл .htaccess
:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase/
#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>
Вы все готово!
Есть разные файлы htaccess, в которых один должен вставить этот код? –
теперь перенаправляет меня на мой localhost –
Измените RewriteBase на любой путь, на который настроен ваш проект. Кроме того, этот файл .htaccess должен находиться в корневой папке проекта, где находятся папки «приложение» и «система». –
Вы пробовали использовать пример, приведенный в руководстве пользователя CodeIgniter?
По умолчанию файл index.php будет включен в ваших URL-адресов:
example.com/index.php/news/article/my_article
Вы можете легко удалить этот файл, используя .htaccess файл с некоторыми простыми правилами. Вот пример такого файла, используя «негативный» метод, в котором все перенаправлены кроме указанных элементов:
RewriteEngine on RewriteCond $1 !^(index\.php|images|robots\.txt) RewriteRule ^(.*)$ /index.php/$1 [L]
В приведенном выше примере, любой запрос HTTP, кроме тех, для index.php, изображения и robots.txt рассматривается как запрос для вашего файла index.php .
Да, я уже пробовал, что не работал для меня –
В дополнение к файлу .htaccess, предоставленному Робертом Стэнли (см. Его ответ), перейдите к application/config/config.php
, ищите $config['index_page'] = "index.php";
и замените его на $config['index_page'] = ""
;
Я также сделал это изменение –
, если мой проект находится в C: // wamp/www/myproject, какой путь я должен писать для RewriteBase? –
В вашей корневой папке (sams для index.php), что означает: C: // wamp/www/myproject – htaidirt
Для меня решение Рафаэль Caixetas не работал, но это сделал:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]
Сначала не работал для меня. Затем я понял, что вам нужно включить 'mod_rewrite' в Apaches' httpd.conf', чтобы он работал. Хорошо работает сейчас, спасибо :) –
я испытал это на apache2 на многих различных хостинг и он прекрасно работает.
использование этого Htaccess
RewriteEngine On
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
быть уверены, что у вас есть enabled mod_rewirte
с phpinfo();
затем сделать это в конфигурации/config.php:
$config['index_page'] = '';
|
| 'AUTO' Default - auto detects
| 'PATH_INFO' Uses the PATH_INFO
| 'QUERY_STRING' Uses the QUERY_STRING
| 'REQUEST_URI' Uses the REQUEST_URI
| 'ORIG_PATH_INFO' Uses the ORIG_PATH_INFO
|
*/
$config['uri_protocol'] = 'AUTO';
, если он еще не работает , попробуйте изменить $config['uri_protocol']='AUTO'
на один из перечисленных в файле application/config/config.php
в строке 40/54:
иногда я использовал: REQUEST_URI
вместо AUTO
или "QUERY_STRING"
для GoDaddy хостингов
Это то, что я использую и работает. Используйте этот код в своем.htaccess
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* website/index.php/$0 [PT,L]
Просто убедитесь, что .htaccess находится в вашей корневой папке. (например: XAMPP/HTDOCS)
Затем в config.php (приложение \ Config) заменяющие config['index_page']='index.php'
к config['index_page']=''
.
проверить файл httpd.conf
изменение
AllowOverride None
в
AllowOverride All
Это сработало для меня. Я на CentOS 7. Я редактировал файл «/etc/httpd/conf/httpd.conf» в разделе «
Не забудьте изменить де конфигурационный файл!
применение/config.php
$config['index_page'] = '';
.htaccess
RewriteEngine On
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]
Вам просто нужно создать файл .htaccess в папке проекта и написать: RewriteEngine На
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 ...
Какие ошибки вы получаете? Вы используете apache? У вас включен mod_rewrite? – applechief
Вы прочитали основную документацию? –
Да, я прочитал всю документацию i m, используя apache, и я также включил mod_rewrite –