CodeIgniter Forums

Full Version: CI crashes only on home page
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
So, had the site fully operational on a subdomain on the server (beta.site.com)

Moved the beta to the public_html folder (renaming folders and all)

The site's pages work just fine:
http://www.stoneworkbygarethjordan.com/m...t_list_art
Index page will work:
http://www.stoneworkbygarethjordan.com/index.php
But without the index.php, it won't:
http://www.stoneworkbygarethjordan.com/

So, first made sure I had the right php (I do)
http://www.stoneworkbygarethjordan.com/phpinfo.php

Checked the config.php file to make sure the data is correct:
PHP Code:
$config['base_url'] = 'http://www.stoneworkbygarethjordan.com/';
$config['index_page'] = '';
$config['uri_protocol'] = 'REQUEST_URI'

Then tried a zillion different htaccess changes from the default.
PHP Code:
RewriteEngine On
RewriteCond 
%{REQUEST_FILENAME} !-f
RewriteCond 
%{REQUEST_FILENAME} !-d
RewriteRule 
^(.*)$ index.php/$[L
to
PHP Code:
<IfModule mod_rewrite.c>
Options +FollowSymLinks -Indexes
RewriteEngine On
RewriteCond 
%{REQUEST_FILENAME} !-f
RewriteCond 
%{REQUEST_FILENAME} !-d
# deal with php5-cgi first
<IfModule mod_fcgid.c>
RewriteRule ^(.*)$ index.php?/$[QSA,L]
</
IfModule>

<
IfModule !mod_fcgid.c>

# for normal Apache installations
<IfModule mod_php5.c>
RewriteRule ^(.*)$ index.php/$[QSA,L]
</
IfModule>

# for Apache FCGI installations
<IfModule !mod_php5.c>
RewriteRule ^(.*)$ index.php?/$[QSA,L]
</
IfModule>

</
IfModule
</
IfModule
(with tons of iterations between)

I also changed the uri_protocol in config to everything listed (and AUTO because nothing else was working)
I'm on bluehost, I'm at a loss as to why this worked on the very same server under the beta subdomain (without needing the index.php for the home page) and I move it and now it blows up.  

What (stupidly obvious) thing am I missing?

(just for completeness, I reset the beta folder and uploaded the files for the home page - which you can see here - http://beta.stoneworkbygarethjordan.com/ - same htaccess, config, server, etc - works)
I changed the htaccess to:

PHP Code:
RewriteEngine On
RewriteCond 
%{HTTP_HOST} ^http://www.stoneworkbygarethjordan.com$
RewriteRule ^$ http://www.stoneworkbygarethjordan.com/index.php [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond 
%{REQUEST_FILENAME} !-d
RewriteRule 
^(.*)$ index.php/$[L

And that made it work, no idea if that's a good solution, but its working, if someone has a better idea, I'd love to hear it.
If you move the CodeIgniter folder names around then you need to specify them in the index.php file.
(12-02-2017, 05:44 AM)InsiteFX Wrote: [ -> ]If you move the CodeIgniter folder names around then you need to specify them in the index.php file.

I moved the entire site from a subdomain to the main domain (it went live...) I didn't change anything about the location of the folders for CI, just where CI was sitting.
On one hosting provider I needed to do it like this.
You can remove the  RewriteCond $1 !^(index\.php|images|resources|vendors|robots\.txt) rule if you want.

Code:
DirectoryIndex index.php
<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteCond $1 !^(index\.php|images|resources|vendors|robots\.txt)
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>

For some reason it didn't like QSA. Like I normally do it. The example above got an extra ? after index.php.
Code:
<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteCond $1 !^(index\.php|resources|vendor|robots\.txt)
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule ^(.*)$ index.php/$1 [L,QSA]
</IfModule>