Oshrib
Oshrib

Reputation: 1900

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:

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.

Upvotes: 2

Views: 10198

Answers (5)

mostafank
mostafank

Reputation: 1

With this code, you will be returned to the index.php page:

wp_redirect( home_url() );
exit;

enter image description here

Upvotes: 0

rcpayan
rcpayan

Reputation: 535

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]

Upvotes: 2

M Khalid Junaid
M Khalid Junaid

Reputation: 64476

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>

Upvotes: 1

Patrick
Patrick

Reputation: 861

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]

Upvotes: 0

Denis de Bernardy
Denis de Bernardy

Reputation: 78443

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.

Upvotes: 2

Related Questions