0

我刚刚将我的 codeigniter proejct 从我的 wamp 服务器转移到我几乎免费的语音服务器上,并且遇到了一些奇怪的问题。我正在使用我在网上找到的 mod_rewrite 从 url 中删除臭名昭著的“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 错误(这是为了防止人们通过 url 调用脚本)。因此,在上传网站后,每次提交表单时我都会收到 404 错误,这表明没有发送数据。但是,出于调试目的,我从脚本中删除了所有代码,发现现在提交表单会加载一个空白页面。由于表单不应该实际加载新页面,这表明脚本正在重定向到自身,因此丢失了发布数据,然后最终满足我的发布数据测试并重定向到 404。

关于为什么会发生这种重定向的任何想法?这真的很重要,如果有任何建议,我将不胜感激!

谢谢

4

1 回答 1

0

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

尝试删除 IfModule mod_rewrite.c 和 IfModule 标签,看看您是否收到内部服务器错误。

Hashem Qolami 是对的,没有重定向标志,因此您的 codeigniter 路由器正在重定向......

于 2013-08-10T12:25:11.383 回答