在localhost中使用的原始代码:
var form_data = {
'email':$('#inviteEmail').val(),
};
$.ajax({
url: "<?php echo site_url('invites/save_email') ?>",
type: 'POST',
data: form_data,
success: function(msg) {
window.location.href = "<?php echo site_url('invites/moreinvites')?>"
return true;
}
});
它在localhost上工作正常,并且CSRF已关闭。但是当我把它搬到媒体寺庙托管时,我开始得到500 Internal server error
。
服务器错误日志
由于可能,请求超出了10个内部重定向的限制 配置错误。使用'LimitInternalRecursion'来增加 必要时限制。使用“LogLevel debug”获取回溯。
我的htaccess文件有这个
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /thesavv/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
# If we don't have mod_rewrite installed, all 404's
# can be sent to index.php, and everything works as normal.
# Submitted by: ElliotHaughin
ErrorDocument 404 /index.php
</IfModule>
我不知道这个错误。
答案 0 :(得分:1)
我使用托管时遇到了同样的错误:在本地运行良好,在生产服务器上显示500错误。
这是一个典型的错误,当从url中删除index.php时,Joomla instalations具有相同的问题,并且问题是由于你的htaccess文件,如果你改变你写的Rewrite规则以避免URL中的index.php,它应该工作。只需删除问号:
RewriteRule ^(.*)$ index.php?/$1 [L] **TO** RewriteRule ^(.*)$ index.php/$1 [L]
可能它会起作用。我想我记得那是因为URI PROTOCOL正在使用CI(你可以在application / config / config.php第33行看到这个),但不完全确定,也许有人可以更好地解释它,:P