5

I've just set up a new webiste http://www.reviewongadgets.com

But there is a problem with URL rendering

When I put an URL as below it's not working and gives page not found error http://www.reviewongadgets.com/latest-mobile

But it works with http://www.reviewongadgets.com/index.php/latest-mobile

I don't want to show index.php in my URL, it should be http://www.reviewongadgets.com/latest-mobile , can you please suggest me what should I do ?

This is my .htaccess file contents:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

Config file contents:

$config['base_url'] = "http://www.reviewongadgets.com";
$config['index_page'] = "";

Same type configuration working for my another website

Changed my .htaccess content to

<IfModule mod_rewrite.c>
    RewriteEngine On

 RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d

    RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
1
  • 10
    You should share your solution with others so when they come look at this question they get the solution. Commented Dec 11, 2011 at 15:54

4 Answers 4

6

The most common solution to this problem is usually the missing question mark ? after index.php in .htaccess, so

RewriteRule ^(.*)$ index.php/$1 [L]

should be

RewriteRule ^(.*)$ index.php?/$1 [L]

E.G. on my Windows XAMPP, I do not need the "?", but in a Linux hosting environment it is usually required.

Sign up to request clarification or add additional context in comments.

Comments

5

i aggree with Vlakarados, but i will share my .htaccess setting

RewriteEngine on
RewriteCond $1 !^(index\.php|images|css|js|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php?/$1 [L,QSA]

its work perfectly.

i hope that's work to for your CI website

Comments

0

You might not have rewrite_module module loaded. Try running below command.

sudo a2enmod rewrite

Comments

0

In case you are on Ubuntu, edit the file /etc/apache2/apache2.conf

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

and change it to;

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>

then,

sudo service apache2 restart

You may also need to do sudo a2enmod rewrite to enable module rewrite.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.