出于某种原因,我似乎无法在codeigniter控制器中发布数据.我把它分解成一个非常简单的形式来测试它,但仍然没有运气.如果我使用method ="get"它可以正常工作.无论如何,下面是表单,控制器/功能和我的.htaccess.任何帮助将非常感激.此外,我在这里看到了一些其他类似的问题,但他们似乎都没有一个对我有用的答案.
形成:
<form id="bundleOrderInfo" name="bundleOrderInfo" action="<?php echo(base_url()); ?>catalog/bundleSubmit" method="post">
<input type="text" name ="test" id="test" value="blahblah"></input>
<input type="submit"></input>
</form>
Run Code Online (Sandbox Code Playgroud)
控制器/功能:
public function bundleSubmit()
{
$this->output->enable_profiler();
$this->load->model('catalog_model');
$data['availableCategories']=$this->catalog_model->getCategories();
$data['availableItems'] = $this->catalog_model->getByCategory($data['availableCategories']);
$testing = $this->catalog_model->formData();
$this->load->view('templates/header');
$this->load->view('templates/menu',$data);
print_r($_POST);
}
Run Code Online (Sandbox Code Playgroud)
的.htaccess:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /ITPortal/index.php?/$1 [L]
RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /index.php?/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ITPortal/index.php?/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 /ITPortal/index.php
</IfModule>
Run Code Online (Sandbox Code Playgroud) 我试图通过htaccess强制https,并得到"太多的重定向"错误.以下是我用来尝试实现此目的的方法.
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^.*$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
Run Code Online (Sandbox Code Playgroud)
关于我如何能够实现这一目标或者为什么这样做似乎不起作用的任何想法?
编辑:我按照这里的答案强制https:// www.对于带有mod_rewrite的htaccess中的Codeigniter, 它似乎正在为我引起重定向循环.当我删除这部分时:
RewriteCond %{HTTPS} !=on
RewriteRule ^.*$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Run Code Online (Sandbox Code Playgroud)
重定向循环消失; 但它不会重定向到https.