Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Codeigniter 删除index.php-官方指南不起作用(代码点火器)_Codeigniter - Fatal编程技术网

Codeigniter 删除index.php-官方指南不起作用(代码点火器)

Codeigniter 删除index.php-官方指南不起作用(代码点火器),codeigniter,Codeigniter,我试图删除CodeIgniter url中的index.php。根据官方指南,我应该在.htaccess文件中添加以下代码 RewriteEngine on RewriteCond $1 !^(index\.php|images|robots\.txt) RewriteRule ^(.*)$ /index.php/$1 [L] 这是行不通的 所以我做了更多的搜索,有人说我应该删除索引页面上的默认配置,所以我在config.php文件中做了更改: $config['index_page'] =

我试图删除CodeIgniter url中的index.php。根据官方指南,我应该在.htaccess文件中添加以下代码

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
这是行不通的

所以我做了更多的搜索,有人说我应该删除索引页面上的默认配置,所以我在config.php文件中做了更改:

$config['index_page'] = '';
它仍然不起作用。然后,在更多的搜索中,我发现了不同版本的代码,比如这个(这里只有一个例子,我已经尝试了很多版本)

我最初将代码放在根目录的.htaccess中,但由于它不工作,我还尝试将其添加到其他目录的.htaccess中。然而,它仍然不起作用

我只是使用默认的欢迎页面进行测试,所以我确信这不是编码的问题。i、 e

http://localhost/projectFolder/CodeIgniter/welcome/

有人知道我遗漏了什么吗?

我认为下面的代码应该适合您

RewriteEngine on
RewriteCond $1 !^(index\.php|css|js|public|themes|captcha|robots|documents|\.txt)
RewriteRule ^(.*)$ /projectFolder/index.php/$1 [L]

希望这对您有所帮助。

对配置文件进行此更改

 $config['base_url'] = 'http://localhost/projectname/';
 $config['index_page'] = '';
然后在你的网站上试试

 DirectoryIndex index.php
 RewriteEngine on
 RewriteCond $1 !^(index\.php|(.*)\.swf|forums|images|css|downloads|js|robots\.txt|favicon\.ico)
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule ^(.*)$ ./index.php?$1 [L,QSA] 
还要确保在apache配置中启用了
mod_rewrite


.htaccess文件应该在项目的根目录中,即在应用程序文件夹之外

我假设http://localhost/projectFolder/CodeIgniter/映射到的是您的docroot,并且
.htaccess
文件位于该目录中

如果是这样的话,那么您的代码是正确的——因此这取决于您的apache配置。通过更改目录块-
AllowOverride All
,确保您允许
.htaccess
文件


这似乎是正确的,但由于我使用Mac和XAMPP,该链接似乎不适用于我。你有Mac的版本吗?(我在谷歌上搜索,但似乎没有什么帮助)这里有一个指向xampp for mac上“what's where”的链接:--您需要编辑
/Applications/xampp/etc/httpd.conf
文件。如果您正在运行vhosts,那么您将编辑一个名为
vhosts.conf
的文件(应该在同一目录中或其周围-可能在
站点可用的
目录中)。我已经在使用您发布的配置,并且我已尝试将脚本更改为您提供的脚本,但它仍然无法工作。我想这是修改的事情。如何启用它?(我正在将Mac与XAMPP一起使用。)
 DirectoryIndex index.php
 RewriteEngine on
 RewriteCond $1 !^(index\.php|(.*)\.swf|forums|images|css|downloads|js|robots\.txt|favicon\.ico)
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule ^(.*)$ ./index.php?$1 [L,QSA]