表单提交时不需要重定向

时间:2013-08-10 12:16:43

标签: php .htaccess codeigniter

我刚刚将我的codeigniter proejct从我的wamp服务器转移到我几乎免费的语音服务器,并且遇到了一些奇怪的问题。我正在使用我在网上找到的mod_rewrite从网址中删除臭名昭着的'index.php',我认为当我提交表单时会导致重定向,从而丢失帖子数据。

这是我的htaccess文件:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

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]
</IfModule>

在表单调用的脚本中,我正在检查是否有帖子数据。如果没有帖子数据,我会重定向到404错误(这是为了防止人们通过网址调用脚本)。因此,在上传网站后,我在每个表单提交时都收到404错误,表明没有数据被发送。但是,出于调试目的,我从脚本中删除了所有代码,并发现提交表单现在会加载一个空白页面。由于表单不应该实际加载新页面,这表明脚本重定向到自身,从而丢失了后期数据,最后满足我的发布数据测试并重定向到404。

有关此重定向发生原因的任何想法?这真的非常重要,我将非常感谢任何建议!

由于

1 个答案:

答案 0 :(得分:0)

看起来服务器没有启用mod_rewrite。

尝试删除IfModule mod_rewrite.c和IfModule标记以查看是否 你得到一个内部服务器错误..

Hashem Qolami是正确的没有重定向标志所以你的codeigniter路由器正在重定向......