Удалить index.php из codeigniter в xamp - PullRequest
3 голосов
/ 08 марта 2012

Я пробовал довольно много ответов, но продолжаю сталкиваться с доброй стеной ужаса.Я на Windows 7 использую стек xamp.mod_rewrite включен.

Я поместил файл htaccess в основной каталог «codeigniter», то есть в каталог с приложением, system и user_guide.Должен ли я поместить его в каталог приложения вместо этого?Тот, что с view / model / config / etc.?

Вот мой текущий файл .htaccess:

RewriteEngine On

# Put your installation directory here:
# If your URL is www.example.com/, use /
# If your URL is www.example.com/site_folder/, use /site_folder/

RewriteBase /website/codeigniter/

# Do not enable rewriting for files or directories that exist
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# For reuests that are not actual files or directories,
# Rewrite to index.php/URL
RewriteRule .* index.php/$0 [PT] 

Доступ к http://localhost/website/codeigniter/index.php/welcome работает Доступ к http://localhost/website/codeigniter/welcome не

Мой config.php имеет

$config['base_url'] = 'http://localhost/website/codeigniter/';
$config['index_page'] = '';

Любая помощь с благодарностью!

Ошибка:

Object not found!

The requested URL was not found on this server. If you entered the URL manually please check your spelling and try again.

Error 404

ОБНОВЛЕНИЕ О, только что подумал о просмотре в логах apache, получая эту ошибку:

[Thu Mar 08 18:28:25 2012] [error] [client ::1] File does not exist: C:/xampp/htdocs/website/codeigniter/welcome

Так что, похоже, не подбирает правильное перенаправление codeigniter?Не уверен?

Ответы [ 7 ]

4 голосов
/ 11 марта 2012

сначала создайте файл .htacess и вставьте следующий код в этот RewriteEngine на

RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]

, затем перейдите к файлу конфигурации

$config['index_page'] = 'index.php';

, измените на

$config['index_page'] = '';

и наслаждайся

3 голосов
/ 20 марта 2012

Попробуйте это:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
$config['index_page'] = 'index.php';

изменить на

$config['index_page'] = '';
2 голосов
/ 08 марта 2012

вы включили mod_rewrite в apache?

1 голос
/ 15 июля 2018

Я снова и снова сталкивался с одной и той же ошибкой, но после небольшого исследования я нашел решение.

<IfModule mod_rewrite.c>

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

</IfModule>

Важным моментом является the project folder. Как я использую RewriteBase /Codeigniter_start/ и RewriteRule ^(.*)$ /Codeigniter_start/index.php/$1 [L,QSA].

Также измените конфигурационный файл index_page следующим образом.

 $config['index_page'] = '';

Надеюсь, это поможет.

0 голосов
/ 10 февраля 2016

Во-первых, включите «переписать модуль» apache в XAMPP

Если вы используете пакет XAMPP или WAMP, вы найдете файл по адресу:

{xampp_dir}/apache/conf/httpd.conf
{wamp_dir}/apache/conf/httpd.conf

Найдите следующую строку и удалитезнак «#».

LoadModule rewrite_module modules/mod_rewrite.so

На самом деле, мы можем сделать верхний по всплывающему меню XAMPP: Apache -> Apache Modules -> rewrite module и выбрать его так, чтобы включить его.

Во-вторых, нам нужно изменить htaccess следующим образом:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php/$1 [L]
0 голосов
/ 08 марта 2012

Также попробуйте изменить способ запроса в файле конфигурации с AUTO на REQUEST_URI.

0 голосов
/ 08 марта 2012

Попробуйте изменить последнюю строку вашего htaccess на:

RewriteRule .* index.php/$1 [L] 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...