1

在 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>


我不知道这个错误。

4

1 回答 1

1

我在使用主机时遇到了同样的错误:在本地运行良好的东西在生产服务器上确实显示了 500 错误。

这是一个典型的错误,Joomla 安装时从 url 中删除 index.php 时有相同的问题,问题是由于您的 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

于 2013-04-09T22:14:14.450 回答