Redirect /index.php – wordpress

I want that if someone got link to my site, lets say: www.bla.com/index.php , he will redirect to www.bla.com. or in another words – remove the index.php.

Here is my .htaccess file:

Read More
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^bla.com$ [NC]
RewriteRule ^(.*)$ http://www.bla.com/$1 [L,R=301]

Either if someone got link: www.bla.com/camera/index.php – it will redirect to www.bla.com/camera/.

For now, the site itself works great, without index.php, but i want to remove the index.php if someone came from extern link.

Related posts

Leave a Reply

4 comments

  1. This post is tagged with WordPress. All of what you’re looking for and doing (canonical domain, canonical url without index.php) has been built into WordPress at least since WP 3.0 when permalinks are turned on… Look into canonical redirects — you’ll find the logic in there.

  2. try like that in

    .htaccess
    

    RewriteEngine On
    
    RewriteBase /
    RewriteCond %{HTTP_HOST} ^bla.com$ [NC]
    RewriteRule ^(.*)$ http://www.bla.com/$1 [L,R=301]
    
    RewriteRule ^index.php/(.*)$ /$1 [R=302,L]
    RewriteRule ^(.*)$ index.php?/$1 [L]
    
  3. Try this

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    
  4. I believe the OP wants to prevent using index.php even when external links are involved. After following the advice from the other question. Try this.

    RewriteRule ^(.*)/index.php$ http://www.bla.com/$1/ [L,R=301]