大家好,我在CodeIgniter中删除index.php时遇到了一些问题。
我在本地创建了我的应用程序并且它工作正常但是当我上传它时,删除index.php似乎不起作用。
我觉得这可能与我的主人有关,这不是最好的,我以前遇到过问题。它托管在Fatcow上。
所以......
我的所有CodeIgniter文件都位于一个名为outfitr的子目录中。 e.g
<root>/outfitr/
我的.htaccess文件位于此文件夹中,以下内容取自CI wiki:
EDITED
RewriteEngine On
RewriteBase /outfitr/
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/$1 [L]
RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /index.php?/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
我的config.php更改如下所示。我已经为我的应用程序的一部分启用了查询字符串。
$config['base_url'] = "<host>.com/outfitr/";
$config['index_page'] = "";
...
$config['uri_protocol'] = "PATH_INFO";
$config['enable_query_strings'] = TRUE;
任何帮助都会很棒。正如我所说,我认为它可能与宿主Fatcow有关。
我已经测试了mod_rewrite,按照下一页上的步骤进行操作,似乎已启用。 http://www.wallpaperama.com/forums/how-to-test-check-if-mod-rewrite-is-enabled-t40.html
答案 0 :(得分:3)
好吧经过一些试验和错误我终于得到了它的工作。我按如下方式设置了我的.htaccess文件。注意'?'在RewriteRule中。
RewriteEngine On
RewriteBase /outfitr/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1 [L]
然后在config.php中设置
$config['uri_protocol'] = 'REQUEST_URI';
认为这取决于某些主机设置其mod_rewrite模块的方式。 Dreamhost和hostgator也有同样的问题。
答案 1 :(得分:0)
http://codeigniter.com/wiki/mod_rewrite/
- 如果您的安装不在服务器根目录中,则需要将RewriteBase行从“RewriteBase /”修改为“RewriteBase / folder /”
醇>
你当前的.htaccess是将所有请求重新路由到/index.php,正如你所说的那样。您希望他们路由到/outfitr/index.php。
您可以通过更改RewriteBase / outfitr /
来完成此操作如果没有,请提供更多详细信息。