dol*_*hov 3 apache subdomain .htaccess codeigniter
在我的新子域中,主页工作正常,但其他所有内容都会引发500内部服务器错误.我确定这是一个.htaccess问题.我在GiftFlow.org上有一个基于CodeIgniter的Web应用程序并且工作正常.
网络根 /var/www/vhosts/giftflow.org/httpdocs
从我的托管控制面板,我创建了一个子域favorece.giftflow.org并将所有内容克隆到其中.
网络根 /var/www/vhosts/favorece.giftflow.org/httpdocs
当我favorece.giftflow.org从浏览器调用时,索引页面很好,包括CSS,但当我尝试导航到任何其他页面时,我得到500内部服务器错误.我的Apache错误日志说:
由于可能的配置错误,请求超出了10个内部重定向的限制.如有必要,使用'LimitInternalRecursion'增加限制.使用"LogLevel debug"获取回溯.
这是我在CodeIgniter的application/config/config.php中的base_url
$config['base_url'] = 'http' . ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? 's' : '').'://'.$_SERVER['HTTP_HOST'].str_replace('//','/',dirname($_SERVER['SCRIPT_NAME']).'/');
Run Code Online (Sandbox Code Playgroud)
而我的.htaccess文件,在webroot中favorece.giftflow是:
RewriteEngine on
RewriteCond $1 !^(index\.php|images|assets|user_guide|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /giftflow/index.php/$1 [L]
Run Code Online (Sandbox Code Playgroud)
小智 8
你正在重定向到/giftflow/index.php不断.RewriteBase可能有所帮助,以及RewriteRule的其他标志.尝试:
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [NC,L,QSA]
Run Code Online (Sandbox Code Playgroud)
此外,CI通常会自动检测base_url,因此您最安全的做法是将其留空.您在自己中定义的逻辑config.php也可能最好放在主index.php文件中.