从url中删除index.php适用于localhost,并且不在线工作

时间:2014-08-06 19:29:46

标签: php codeigniter url routes

我使用codeigniter处理PHP项目,我从本地删除了index.php,这是我的.htaccess

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

当我上传项目时,在线路线根本不起作用,我需要用普通网址而不是路由设置index.php!

例如

而不是写index我必须写 index.php/product_management_controller/index

如果我写索引,即使我更新路由以包含index.php,它也不起作用!!这意味着路线也不起作用!

我目前的路线是 $route['index'] = "product_management_controller/index";

以下是我在config.php文件中设置的一些内容:

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

解决方案是什么!!

它在本地正常工作!!

2 个答案:

答案 0 :(得分:0)

您托管的服务器需要允许.htaccess个文件,您需要在Apache配置中添加:

AllowOverride All

到你的Apache配置。然后重启Apache服务器。

您也可以尝试

Options +FollowSymLinks -MultiViews RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule .* index.php/$1 [PT,L]

答案 1 :(得分:0)

有一个文档可以从codeigniter上的url中删除index.php https://ellislab.com/codeigniter/user-guide/general/urls.html

顺便说一下,你根据评论在godaddy共享服务器上,你无法访问apache配置文件,但好消息是你不必担心重写模式已经开启默认情况下。 :)