我是Codeigniter
中的新手并尝试配置Codeigniter
。
但我无法从网址中删除index.php
。
我按照用户指南中提供的数据更改了.htaccess
文件。
.htacess文件包含
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
并且还更改了配置文件
$config['index_page'] = '';
当我尝试使用以下网址时,结果
在此服务器上找不到请求的网址/ codeigniter / pages / view。
http://localhost/codeigniter/pages/view
但我在url中尝试使用index.php。正常显示页面..
http://localhost/codeigniter/index.php/pages/view
是.htaccess问题还是我必须更改其他一些文件.. ?
如何摆脱这个问题?
任何建议,可以接受。
更新
我正在使用ubuntu 3.10
我使用以下命令启用模块重写
sudo a2enmod rewrite
结果如下
Module rewrite already enabled
我在
中更改了权限 /etc/apache2/sites-enabled/000-default
作为
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
更改此文件后也没有运气..
答案 0 :(得分:1)
最后我找到了我的问题的答案。如下所示.htaccess解决了我的问题..
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php)
RewriteRule ^(.+)$ index.php?/$1 [L,QSA]
</IfModule>
感谢所有..
答案 1 :(得分:0)
在httpd.conf
(在Windows上)
取消注释
LoadModule rewrite_module modules/mod_rewrite.so
mod_rewrite
启用sudo a2enmod rewrite
进行更改后重启apache
答案 2 :(得分:0)
进行此更改
在config.php中
$config['index_page'] = '';
IN root .htaccess文件
DirectoryIndex index.php
RewriteEngine On
RewriteCond $1 !^(index\.php|themes|utils|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php?/$1 [L]
答案 3 :(得分:0)
没有人提到更改设置。在你的httpd配置文件中找到并更改它
<Directory "/var/www/html"> # your DocumentRoot setting
Options FollowSymLinks
AllowOverride All # default is None
Order allow,deny
Allow from all
</Directory>