我刚刚将我的 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。
关于为什么会发生这种重定向的任何想法?这真的很重要,如果有任何建议,我将不胜感激!
谢谢