Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

htaccess redirect index.php to root (including subdomains)

I'm trying to redirect index.php files to the root /, I've searched around and found several snippets of code similar to:

RewriteCond %{THE_REQUEST} ^.*/index.php  RewriteRule ^(.*)index.php$ http://www.domain.com/$1 [R=301,L]  

This however won't work for subdomains, example below:

  1. I have a subdomain: subdomain.domain.com
  2. A user visits http://subdomain.domain.com/index.php
  3. Using the htaccess above they are redirected to http://www.domain.com/ rather than http://subdomain.domain.com/

Does anyone know how to adjust the htaccess above so it will take into account the subdomain and redirect them to the appropriate location?

e.g. if a user visits http://subdomain.domain.com/index.php they will go to http://subdomain.domain.com/

Bonus Points:

Is there a htaccess that can just apply this rule to all folders?

So for any folder with an index.php they will just be redirected to it's root e.g. http://subdomain.domain.com/folder1/folder2/index.php would automatically go to http://subdomain.domain.com/folder1/folder2/

like image 296
Alex Avatar asked Feb 20 '12 23:02

Alex


1 Answers

Do this:

RewriteCond %{THE_REQUEST} ^.*/index\.php  RewriteRule ^(.*)index.php$ /$1 [R=301,L]  
like image 58
ThinkingMonkey Avatar answered Sep 24 '22 01:09

ThinkingMonkey