I had website content in a subfolder (http://mydomain.com/subfolder/index.php), now I copied everything over to the root folder (http://mydomain.com/index.php).
I would like to redirect all the visitors that have bookmarked the old page to the new content (at least to the new index.php) using .htaccess.
Is this correct:
RewriteEngine on
RewriteRule /subfolder/^(.*)$ http://mydomain.com [R=301,L]
?
And where would I place the .htaccess file, in the subfolder or the root folder?
Placing the following .htaccess
in /
(where your index.php is located) should do the trick:
RewriteEngine on
RewriteRule ^subfolder/(.*)$ /$1 [R=301,L]
Or you could place the following .htaccess
in /subfolder
:
RewriteEngine On
RewriteRule ^(.*)$ /$1 [R=301,L]
Note that the ()
around .*
and the $1
redirects /subfolder/someFile.php
to /someFile.php
. If you skip it, everything in /subfolder
redirects to /
.
Try:
RewriteEngine On
RewriteRule ^subfolder/index.php$ /index.php[NC,L,R]
Thanks to @mariusnn in the comments, I was able to solve this issue.
❌ Not Working: .htaccess redirect FROM subfolder to domain name
RewriteEngine on
RewriteRule ^subfolder/(.*)$ /$1 [R=301,L]
✅ Working: .htaccess redirect entire subdomain "/subdomain/" and files "/subdomain/file_01.php" within are redirected to domain name "example.com"
RewriteEngine on
RewriteRule ^subfolder/.*$ / [R=301,L]
*Note that the ()
around .*
and the $1
redirects /subfolder/someFile.php
to /someFile.php
. If you skip it, everything in /subfolder
redirects to /
.
This does the trick:
RedirectMatch 301 ^/subfolder$ http://yourdomain.tld/
Tried all answers here. This is what worked for me:
RewriteEngine on
RewriteBase /
RewriteRule ^subfolder/(.*)$ /$1 [R=302,NC,L]
Change R=302
to R=301
after you've validated the changes.