Reputation: 1900
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
Reputation: 1
With this code, you will be returned to the index.php page:
wp_redirect( home_url() );
exit;
Upvotes: 0
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
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
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
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