大家好,我很难使用Codeigniter验证码库。我的网页中的浏览器没有显示任何验证码img文件,我认为这是img_url的问题,因为img文件位置是' http://localhost/blog/captcha/1455115990.3884.jpg'当我尝试直接访问它抛出浏览器时,我只是得到codeigniter默认的404窗口,但在我的web项目根文件夹codeigniter的captcha目录中成功创建了captcha img文件。我有什么不同的建议吗?
我的控制器
function post($postID){
$this->load->model('comment');
$data['comments']=$this->comment->get_comments($postID);
$this->load->helper('form');
$this->load->helper('captcha');
$vals=array(
'img_path'=> './captcha/',
'img_url'=>base_url().'captcha/',
'img_width'=>150,
'img_height'=>30
);
$cap = create_captcha($vals);
$this->session->set_userdata('captcha', $cap['word']);
$data['captcha']=$cap['image'];
$data['post']=$this->Post->get_post($postID);
$this->load->view('post', $data);
}
查看
<p>Captcha Code: <?=$captcha ?> <br /><?php
$data_form=array(
'name'=>'captcha'
);
echo form_input($data_form);
?>
</p>
感谢您的回答!
答案 0 :(得分:1)
我的问题是在.htaccess文件中。我刚从
更改了它RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ index.php/$1 [L]
到
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on
# Send request via index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
验证码正在运行!