我正在使用 CodeIgniter,当我尝试访问我的页面时出现 500 服务器错误。( https://test_page.com ) 重定向到 ( https://test_page.com/auth/login )。注意(https://test_page.com/index.php/auth/login)仍然有效。
- 我使用的是 HTTPS://,我不确定这是否会有所不同。
- 我还为域配置了我的站点可用文件以允许覆盖。
Codeigniter 基目录: /var/www/test_page.com/public_html
我的 apache 错误日志说:
由于可能的配置错误,请求超出了 10 个内部重定向的限制。如有必要,使用“LimitInternalRecursion”增加限制。使用“LogLevel debug”获取回溯。
httpd.conf 文件
ServerName localhost
<Directory /var/www/test_page.com/public_html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
.htaccess
Options +FollowSymLinks All -Indexes
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /registration.naturebridge.org/
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 ^(.*)$ /public_html/index.php?/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 index.php
</IfModule>
配置文件:
$config['base_url'] = 'https://test_page.com/';
$config['index_page'] = '';
$config['uri_protocol'] = 'REQUEST_URI';
$config['url_suffix'] = '';
解决方案
编辑您的 .htaccess 以包含以下内容(还记得不要在 Word 或富文本格式编辑器中编辑它,因为它可能会添加额外的字符并给您带来编译错误)。
<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>