Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Problems with codeigniter on ubuntu

I’ve got Codeigniter on Ubuntu 10 (LAMP). I have an htaccess file:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /dort
#Removes access to the system folder by users.
#Additionally this will allow you to create a System.php
#controller, previously this would not have been possible.
#'system' can be replaced if you have renamed your system folder.
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /dort/index.php?/$1 [L]
#Checks to see if the user is attempting to access a valid file,
#such as an image or css document, if this isn't true it sends
#the request to index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /dort/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>

Up until now, we connected the remote server with an IP address,my base site is sitting under a folder called ‘dort’, so we used to call it like this: http://some_ip/dort

now we mapped a virtual host to dort, so we call it like: http://demo.dort.com/ and suddenly nothing

works except for the login page (index.php). I’ve changed $config[‘base_url’] in config.php but i

keep getting 404.

Please help :(

like image 594
Tomer Avatar asked Feb 22 '11 19:02

Tomer


2 Answers

Did you use virtual host?

I have same problem and solve with this

1) Make virtual host in my case is like this: file /etc/apache2/sites-available/default

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot /var/www/dort
    ServerName yourdomain.biz #this domain must be define tld info.
    ErrorLog /var/log/apache2/error_2.log
    <Directory /var/www/dort>
        Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
                # Uncomment this directive is you want to see apache2's
                # default start page (in /apache2-default) when you go to /
                #RedirectMatch ^/$ /apache2-default/

    </Directory>

</VirtualHost>

2) Setting host in file /etc/hosts

127.0.0.1   localhost
127.0.0.1   yourdomain.biz
# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

3) .htaccess

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    # Send admin URL's to the admin controller (then skips the rest of the redirect rules)
    RewriteCond %{REQUEST_URI} ^/admin(.*)
    RewriteRule ^(.*)$ /index.php/admin/$1 [L]    

    # Redirects any request thats not a file or directory through to the main controller
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /index.php/main/$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.

    ErrorDocument 404 /index.php
</IfModule> 

4) Make sure when restart apache not show error

 Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

5) Go to browse and run this url http://yourdomain.biz

like image 111
viyancs Avatar answered Nov 11 '22 22:11

viyancs


Above solution worked for me. I just want to highlight one thing. Make sure you have AllowOverride All instead AllowOverride None in virtual host file at /etc/apache2/sites-available/default

like image 34
waqas Avatar answered Nov 11 '22 22:11

waqas