我有一个新网站,在那里我安装了codeigniter(最新)。现在为了测试,我在默认页面www.example.com中有一个表单。我已经在.htaccess的帮助下从url中删除了index.php。现在,如果我提交了表单,我已经将其重定向到www.example.com/controller_name/function_name。URL显示完美,就像我写一样
<form action="<?php echo base_url(); ?>controller_name/function_name" method="post" >
另外,我的base_url为http://www.example.com。
现在的问题是,重定向到www.example.com/controller_name/function_name后,会抛出一个未找到页面的错误。但我已经在该函数中编写了echo "test";
。
有人能帮我解决这个问题吗。
对于我的设置-它还修改了htaccess以删除index.php-我必须将我的配置文件设置为
$config['index_page'] = '';
$config['base_url'] = '';
并且我正在使用请求URI:
$config['uri_protocol'] = 'REQUEST_URI';
在更改这些内容之前,我还得到了一个找不到的页面。试试这个,看看它是否适合你。
问题是如何删除index.php
我相信,如果你尝试发布到<?php echo base_url(); ? >index.php/controller_name/function_name
,它会起作用。
你必须信任你。htaccess
这就是我的设置:
config.php
$config['index_page'] = '';
$config['base_url'] = '';
$config['uri_protocol'] = 'REQUEST_URI';
.htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1/ [L,QSA]
安装新的CodeIgniter对于第一次安装的人来说可能是个问题,但我可以向你保证,这比你想象的要容易得多。
也许我为CodeIgniter workink在eleven2提供商上做的一个教程可以帮助你:www.eleven2.com/forum/topic/247-codeigner-framework/
请检查您是否按照教程中的说明正确设置了CodeIgniter;如果一切正常,我们必须在php配置或其他方面找到问题。
试试这个
<form action="<?php echo base_url(); ?>/controller_name/function_name" method="post" >
或者你可以简单地使用:
<form action="<?php echo base_url(controller_name/function_name); ?>" method="post" >
该死的肯定它会工作
也有同样的问题,使用CI 3.1.5。使用此设置修复了它。
config.php
$config['index_page'] = 'index.php';
$config['base_url'] = '-your domain-';
$config['url_suffix'] = '';
.htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
将.htaccess文件放在"应用程序"文件夹之外