Support » Fixing WordPress » Pretty Permalink Issue – CANNOT get rid of index.php!

  • All I want is my domain name: with the year/month/day/post name. What I currently have is the index.php/year/… etc. You get the point. If I change it to the standard structure of Day and Name in common settings in WordPress (, I get the following error:

    Not Found

    The requested URL /2008/06/25/back-on-land-launda/ was not found on this server.
    Apache/2.2.4 (Ubuntu) PHP/5.2.3-1ubuntu6.3 Server at Port 80

    Okay, so I am really struggling here. I have read about a million posts on this topic, and am really close to giving up! I need help.

    I HAVE read:


    Override single WordPress pages with .htaccess at, and this doesn’t work either.

    Not too sure if this is a .htaccess, WordPress or Apache2 issue but could someone please direct me here. I can make whatever changes people recommend to get this working, I just want it to work.

    I am a newby to unix, well fairly new. Been running it for over a year now, so my Apache set-up might not be 100% either.

    Running an Ubuntu Server, with a default WordPress install. Now at ver 2.6.1-alpha – had to due to index.php 404 error, so I installed the 3 files at:

    Please, any advise to get the normal structure of site/year/month/name/day would be most appreciated, as I have been struggling, trying everything I possibly can for about 6 months now!! 🙁 I can’t imagine I am the only person gettig this error!

    As per the read out of the AARewriteRules plugin – below – I think it has something to do witht eh fact that I am NOT using the mod_rewrite permalinks, but I just can;t fingure out what I am doing wrong.

    I do NOT want to have to use the category tag either.

    This is the setup I currently have:

    Permalink Custom Structure of : /index.php/%year%/%monthnum%/%day%/%postname%/

    No Category or Tag Bases.

    The AARewriteRules plugin shows:

    > Permalink: /index.php/%year%/%monthnum%/%day%/%postname%/
    > Writable .htaccess file found
    > mod_rewrite found
    > Using pathinfo style index permalinks
    > Not using mod_rewrite permalinks

    WordPress generated .htaccess file:

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]

    All WordPress rewrite rules:

    robots.txt$ == index.php?robots=1
    .*wp-atom.php$ == index.php?feed=atom
    .*wp-rdf.php$ == index.php?feed=rdf
    .*wp-rss.php$ == index.php?feed=rss
    .*wp-rss2.php$ == index.php?feed=rss2
    .*wp-feed.php$ == index.php?feed=feed
    .*wp-commentsrss2.php$ == index.php?feed=rss2&withcomments=1
    index.php/feed/(feed|rdf|rss|rss2|atom)/?$ == index.php?&feed=$1
    index.php/(feed|rdf|rss|rss2|atom)/?$ == index.php?&feed=$1
    index.php/page/?([0-9]{1,})/?$ == index.php?&paged=$1
    index.php/comments/feed/(feed|rdf|rss|rss2|atom)/?$ == index.php?&feed=$1&withcomments=1
    index.php/comments/(feed|rdf|rss|rss2|atom)/?$ == index.php?&feed=$1&withcomments=1
    index.php/comments/page/?([0-9]{1,})/?$ == index.php?&paged=$1
    index.php/search/(.+)/feed/(feed|rdf|rss|rss2|atom)/?$ == index.php?s=$1&feed=$2
    index.php/search/(.+)/(feed|rdf|rss|rss2|atom)/?$ == index.php?s=$1&feed=$2
    index.php/search/(.+)/page/?([0-9]{1,})/?$ == index.php?s=$1&paged=$2
    index.php/search/(.+)/?$ == index.php?s=$1
    index.php/category/(.+?)/feed/(feed|rdf|rss|rss2|atom)/?$ == index.php?category_name=$1&feed=$2
    index.php/category/(.+?)/(feed|rdf|rss|rss2|atom)/?$ == index.php?category_name=$1&feed=$2
    index.php/category/(.+?)/page/?([0-9]{1,})/?$ == index.php?category_name=$1&paged=$2
    index.php/category/(.+?)/?$ == index.php?category_name=$1
    index.php/tag/(.+?)/feed/(feed|rdf|rss|rss2|atom)/?$ == index.php?tag=$1&feed=$2
    index.php/tag/(.+?)/(feed|rdf|rss|rss2|atom)/?$ == index.php?tag=$1&feed=$2
    index.php/tag/(.+?)/page/?([0-9]{1,})/?$ == index.php?tag=$1&paged=$2
    index.php/tag/(.+?)/?$ == index.php?tag=$1
    index.php/author/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$ == index.php?author_name=$1&feed=$2
    index.php/author/([^/]+)/(feed|rdf|rss|rss2|atom)/?$ == index.php?author_name=$1&feed=$2
    index.php/author/([^/]+)/page/?([0-9]{1,})/?$ == index.php?author_name=$1&paged=$2
    index.php/author/([^/]+)/?$ == index.php?author_name=$1
    index.php/([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/feed/(feed|rdf|rss|rss2|atom)/?$ == index.php?year=$1&monthnum=$2&day=$3&feed=$4
    index.php/([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/(feed|rdf|rss|rss2|atom)/?$ == index.php?year=$1&monthnum=$2&day=$3&feed=$4
    index.php/([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/page/?([0-9]{1,})/?$ == index.php?year=$1&monthnum=$2&day=$3&paged=$4
    index.php/([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/?$ == index.php?year=$1&monthnum=$2&day=$3
    index.php/([0-9]{4})/([0-9]{1,2})/feed/(feed|rdf|rss|rss2|atom)/?$ == index.php?year=$1&monthnum=$2&feed=$3
    index.php/([0-9]{4})/([0-9]{1,2})/(feed|rdf|rss|rss2|atom)/?$ == index.php?year=$1&monthnum=$2&feed=$3
    index.php/([0-9]{4})/([0-9]{1,2})/page/?([0-9]{1,})/?$ == index.php?year=$1&monthnum=$2&paged=$3
    index.php/([0-9]{4})/([0-9]{1,2})/?$ == index.php?year=$1&monthnum=$2
    index.php/([0-9]{4})/feed/(feed|rdf|rss|rss2|atom)/?$ == index.php?year=$1&feed=$2
    index.php/([0-9]{4})/(feed|rdf|rss|rss2|atom)/?$ == index.php?year=$1&feed=$2
    index.php/([0-9]{4})/page/?([0-9]{1,})/?$ == index.php?year=$1&paged=$2
    index.php/([0-9]{4})/?$ == index.php?year=$1
    index.php/[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/?$ == index.php?attachment=$1
    index.php/[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/trackback/?$ == index.php?attachment=$1&tb=1
    index.php/[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$ == index.php?attachment=$1&feed=$2
    index.php/[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/(feed|rdf|rss|rss2|atom)/?$ == index.php?attachment=$1&feed=$2
    index.php/([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/trackback/?$ == index.php?year=$1&monthnum=$2&day=$3&name=$4&tb=1
    index.php/([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$ == index.php?year=$1&monthnum=$2&day=$3&name=$4&feed=$5
    index.php/([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/(feed|rdf|rss|rss2|atom)/?$ == index.php?year=$1&monthnum=$2&day=$3&name=$4&feed=$5
    index.php/([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/page/?([0-9]{1,})/?$ == index.php?year=$1&monthnum=$2&day=$3&name=$4&paged=$5
    index.php/([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)(/[0-9]+)?/?$ == index.php?year=$1&monthnum=$2&day=$3&name=$4&page=$5
    index.php/[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/?$ == index.php?attachment=$1
    index.php/[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/trackback/?$ == index.php?attachment=$1&tb=1
    index.php/[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$ == index.php?attachment=$1&feed=$2
    index.php/[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/(feed|rdf|rss|rss2|atom)/?$ == index.php?attachment=$1&feed=$2
    index.php/.+?/attachment/([^/]+)/?$ == index.php?attachment=$1
    index.php/.+?/attachment/([^/]+)/trackback/?$ == index.php?attachment=$1&tb=1
    index.php/.+?/attachment/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$ == index.php?attachment=$1&feed=$2
    index.php/.+?/attachment/([^/]+)/(feed|rdf|rss|rss2|atom)/?$ == index.php?attachment=$1&feed=$2
    index.php/(.+?)/trackback/?$ == index.php?pagename=$1&tb=1
    index.php/(.+?)/feed/(feed|rdf|rss|rss2|atom)/?$ == index.php?pagename=$1&feed=$2
    index.php/(.+?)/(feed|rdf|rss|rss2|atom)/?$ == index.php?pagename=$1&feed=$2
    index.php/(.+?)/page/?([0-9]{1,})/?$ == index.php?pagename=$1&paged=$2
    index.php/(.+?)(/[0-9]+)?/?$ == index.php?pagename=$1&page=$2

Viewing 10 replies - 1 through 10 (of 10 total)
  • I think I got the same problem as you.

    My permalinks (before the 2.6 nightmare) used to be in the format:

    Then WP 2.6 came and they got all broken and nothing could fix it.

    After the upgrade to 2.6.1, they still didn’t work. HOWEVER, by selecting a “Custom Structure” in my permalinks setting page and using:

    I now get this:

    So I get my post name as part of the URL, but there’s this “index.php” there.

    Have you figured out why yet??

    I’m in the same boat with 2.7…

    I think it has something to do witht eh fact that I am NOT using the mod_rewrite permalinks

    Permalinks with index.php in them are PATHINFO permalinks, and they are what you use when you don’t have mod_rewrite. Pretty permalinks require mod_rewrite. More info: Using “Pretty” permalinks


    I have just upgraded to 2.7 hoping that this some how would fix this problem of having to have /index.php/ displayed in every permalink.
    I would like to find out how to get rid of the index.php

    If I remove index.php from the Permalink Settings Custom Structure to just read :- /%post_id%/%postname%/

    I get this error message :-


    Internal Server Error

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

    Please contact the server administrator, 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.

    Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.


    I have read and reread so many posts and FAQ topics on this subject I have totally confused myself with it all.

    Does anyone know of a easy fix for this problem..

    It’s quite simple, your webhost must allow mod_rewrite, i’m in the same boat with free hosting, no mod_rewrite…

    Not all hosts will allow mod_rewrite, and the easiest way to find out if your host does is to either…

    a) Contact them and ask…
    ” Can you tell me if Apache Mod-Rewrite is enabled? If not is it possible to have it enabled? “

    — Or something to that degree


    b) Login to the cPanel of your webspace account and look for a PHPInfo link, which will give you detailed info on what modules are and are not enabled.

    Thank you,

    My host is Thirdsphere and I can only find this reference to
    PHP being:- PHP version: 5.2.8/w Zend.
    Thats it, no other mention that I can see anywhere

    I will send a email to support and see how we go.

    Thanks for your help.

    I have a reply from my host.

    >>>>>>>>>>>>>>>> Quote <<<<<<<<<<<<<<<<<
    Mod-rewrite is enabled. However, we utilize php-suexec, i believe that requires a slight mod with the wordpress code. You can post this additional info, and I am sure someone will pop in with the correct answer, if not let me know.

    >>>>>>>>>>>>>>>> End Quote <<<<<<<<<<<<<<<<<

    No idea what to do now..


    Same problem here.

    I’m running a fresh install of ubuntu server 8.10 with all the security updates as of today, WordPress 2.7.1, PHP Version 5.2.6-2ubuntu4.1, Apache/2.2.9 (Ubuntu), and MySQL 5.0.6

    Although WP is able to write to the .htaccess file, permalinks still do not work.

    Obviously, I double checked that Apache had the mod_rewrite module enabled and had it restarted after each permalink modification. Also, I have the AllowOverride directive set to “all” for the / directory in my security file of Apache configuration. This security file is separated from httpd.conf in Debian based Apache Servers, and in fact, the httpd.conf file is blank, as it is replaced by apache2.conf

    So, it seems that Apache is not the culprit of this, php doesn’t look like a candidate to cause the failure nor MySQL does. As .htaccess is a file that Apache reads to change the URL, it could be that Apache is the problem, but I don’t experience this issue when I use an .htaccess file outside the wordpress context, for instance, in a different subfolder of www/

    Any ideas?

    Does this thread help?

    Try adding …

    Options FollowSymLinks

    to your htacess…or failing that, try…

    Options FollowSymLinks+

    Worked for me on both my installs…

Viewing 10 replies - 1 through 10 (of 10 total)
  • The topic ‘Pretty Permalink Issue – CANNOT get rid of index.php!’ is closed to new replies.