EPR Blog


Remove index.php from Joomla URL’s

Remove index.php from Joomla URL’s
Print Friendly

I spent hours trying to figure this out and thought I would write about the solution. When turning on Search Engine Friendly URL’s in Joomla, they begin adding an extra index.php within the URL’s so that it looks something like this – http://www.yoursite.com/index.php/category/article.

I want the URL to be http://www.yoursite.com/category/article.

It’s cleaner and better for the search engines.

So, here are the steps I took to remove the unnecessary index.php:

  1. Go to the Global Configuration area within your Joomla admin.
  2. Under SEO Settings, click YES for the following two items:
    1. Search Engine Friendly URLs
    2. Use Apache mod_rewrite (update: In Joomla! 2.5.7, Erik’s step 2. 2. should be “Use URL rewriting”. There is an exclamation icon next to this option. Hover over it to see important instructions like changing the htaccess before clicking on Yes and saving. Thanks Shane Brenizer
  3. Now, go to your htaccess.txt file at the root of your site and rename the file .htaccess.
  4. Use some sort of text editor (I use text wrangler) to remove the ‘#’ before the words ‘RewriteBase / (update: In Joomla! 3.0, you don’t need to take off the ‘#’ sign from htaccess. Just rename the htaccess.txt file to ‘.htaccess’ Thanks Raihan)
    1. For me, this was around line 53 of the .htaccess file.
  5. Now, try to navigate around your Joomla website.  The index.php should be gone.

Blog photo by Needoptic


  1. Erik Rostad

    Hi Roman, you need to change .htaccess.txt to .htaccess without the.txt. Did you do that?

  2. Roman

    Hi Erik,

    Yes, I tryed that but when I do that I get this error:

    Internal Server Error

    The server encountered an internal error or misconfiguration and was unable to complete your request.

    Please contact the server administrator, support@one.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.

    More information about this error may be available in the server error log.

  3. Roman

    ok i found it out. Its working now!

    solution is rename to .htaccess (without .txt)
    and comment that line!

    I had to comment this line with #
    #Options +FollowSymLinks

  4. Teo


  5. cyo

    In the root folder, when I try to rename the htaccess.text file to .htaccess, it tells me the file already exists.

  6. Erik Rostad

    Hello Cyo – ok, are you able to view your current .htaccess file to see what is in it?

Leave a Comment

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>