.htaccess文件和CodeIgniter路由中的RewriteEngine规则问题

时间:2016-11-07 09:54:45

标签: php apache .htaccess codeigniter

我想要做的是按照此文档删除CodeIgniter中我的网址中的index.php文件:

http://www.codeigniter.com/userguide3/general/urls.html#removing-the-index-php-file

我用.tid代码写了.htaccess文件:

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

但是当我尝试访问网址:http://127.0.0.1/my-site/admin时,会重定向到http://127.0.0.1/dashboard

这是我的base_url配置:

  

$ config [' base_url'] =' http://127.0.0.1/my-site';

这是routes.php文件:

$route['default_controller'] = 'home'; 
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
$route['admin']='admin/index'; 
$route['admin/login']='admin/login';

任何帮助将不胜感激!

3 个答案:

答案 0 :(得分:0)

尝试这个

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

答案 1 :(得分:0)

如果您使用wamp Server左键单击托盘

  

icon-> Apache-> Apache模块 - >然后找到并点击rewrite_module

答案 2 :(得分:0)

首先,确保您的.htaccess文件正常工作(由Apache / PHP加载)

要测试此功能,请打开.htaccess文件并输入一些垃圾文本(例如测试..)并保存文件。

现在加载应用程序的主页。 (例如http://localhost/mywebapp/

如果您收到“内部服务器错误”,则表示您的.htaccess文件正在运行。 否则,如果加载默认页面,则表示您的.htaccess文件未加载。

如果您的.htaccess文件无效,则是由于Apache配置问题。

  1. 打开Apache配置文件(通常为C:\ Apache \ conf \ httpd.conf)

  2. 搜索“AllowOverride”字样。

  3. 更改所有实例的值

    AllowOverride无

    AllowOverride All

    1. 保存Apache配置文件。

    2. 重启Apache服务/服务器。

    3. 这应解决您的重定向问题。