1

我正在尝试从 URL 中删除“index.php”。我试过制作

$config['uri_protocol'] = 'AUTO';

作为

$config['uri_protocol'] = 'REQUEST_URI';

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

作为

$config['index_page'] = '';

甚至尝试过推杆

RewriteEngine on
RewriteCond $1 !^(index\.php|[Javascript / CSS / Image root Folder name(s)]|robots\.txt)
RewriteRule ^(.*)$ /project/index.php/$1 [L]

在 .htaccess 文件中,但它对我不起作用。谁能告诉我哪里出错了?提前致谢..

4

4 回答 4

1

鉴于你告诉我你正在使用 Ubuntu ......

  1. 使用 Ayman 提供的 .htaccess 配置。
  2. 打开终端并键入sudo a2enmod rewritemod_rewrite在您的机器上启用。
  3. 打开 000-defaultsudo nano /etc/apache2/sites-enabled/000-default并将第一次出现的更改AllowOverride NoneAllowOverride All

然后用 重启 apache sudo service apache2 restart

也可以使用:$config['index_page'] = '';

于 2013-02-13T08:25:36.227 回答
1

删除 index.php 有 3 个步骤

1.在 application/config.php 文件中进行以下更改

$config['base_url'] = 'http://'.$_SERVER['SERVER_NAME'].'/Your Ci folder_name';
$config['index_page'] = '';
$config['uri_protocol'] = 'AUTO';

2.使用以下代码在根目录中制作 .htacces 文件

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

3.启用重写模式

一世。首先,使用以下命令启动它:

a2enmod 重写

ii. 编辑文件 /etc/apache2/sites-enabled/000-default

AllowOverride None更改为AllowOverride All

iii. 使用以下命令重新启动服务器:

须藤 /etc/init.d/apache2 重启

于 2013-02-13T13:02:52.613 回答
0

这是.htaccess我经常使用的文件。为我工作:

<IfModule mod_rewrite.c>
  DirectoryIndex index.php
  RewriteEngine on
  RewriteCond $1 !^(index\.php|images|css|js|robots\.txt|favicon\.ico)
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteBase /project/
  RewriteRule ^(.*)$ ./index.php/$1 [L,QSA]
</IfModule>
于 2013-02-13T07:22:16.070 回答
0

得到了答案,我刚刚在我的 .htaccess 文件中插入了以下代码:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]

并制作 $config['index_page'] = '';

config.php

来源:从 URL 中删除“index.php” - Codeigniter ‌​r

回答者:@Akhilraj NS

于 2013-02-13T08:34:33.180 回答