我想重写我的url从/ controller/method到index.php?/ controller/method,而且大部分工作正常,除了表单不会正确提交。我设置了一些路由,但表单也打破了非重新路由的URL。这是一个小小的背景。表格在CodeIgniter中被破坏
我已将我的index.php移出到一个单独的web根目录中,因此没有机会公开应用程序文件。我不确定这是否会导致此问题,但对于我的安装而言,这有点不同寻常。我的目录结构如下:
+ codeigniter/
+ application/
- models, views, etc
+ system/
+ web/
- .htaccess
- index.php
- css, javascript, images, etc
我的.htaccess很简单:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
它似乎在XAMPP做工精细适用于Windows,但它是一个基本的Ubuntu LAMP堆栈打破。当我提交表格时,没有任何反应。表单指向要加载的页面,但好像该表单尚未提交。
对不起,还有一条重要信息:如果我把index.php放在那里,那么url就像/index.php/contacts/edit/1
,它的工作原理。
让我知道,如果我可以提供任何更多的信息。谢谢!
描述“没有任何反应”多一点。空白页?屏幕上出现错误?同一页面重新加载到位? –
@Michael编辑。发生的事情并不多,或者我可以更有效地进行调试。我希望别人看到类似的东西。当然,错误报告是。 – theazureshadow
不知道路由发生了什么,但如果在提交表单的方法中执行print_r($ _ POST),会发生什么情况? – stef