seyed morteza moosavi
seyed morteza moosavi

Reputation: 23

.htaccess redirect only root of a subfolder to another subfolder?

I have a site in "example.com/a" and would like to redirect 301 just url "example.com/a" to "example.com/b" and other data in "example.com/a" dont change address.

create .htaccess in "example.com/a" and try using several code like:

RewriteEngine on
RewriteRule ^$ http://www.example.com/b [R=301,L]

and

RedirectMatch 301 ^/$ https://example.com/b

and its redirect root but all other data in "example.com/a" show 404 error.

I have a lot of photos in "root/a" , just want to redirect the "root/a" address to "root/b" and the address of the photos remains the same.

For example, the "root/ a/pic.jpg" address will remain unchanged before and after the redirect,

How can i just redirect the "example.com/a" and other old address not change?

Upvotes: 1

Views: 157

Answers (1)

If I understood you well you need to redirect root/a to root/b while maintaining location of the rest of the pages, files?

This will do:

# Redirect Root Only
<IfModule mod_rewrite.c>
RewriteEngine On

#Uncheck line below to redirect 'index.php' as well
#Redirect 301 /a/index.php http://example.com/b/

#Redirect root only
RewriteCond %{HTTP_HOST} example\.com [NC]
RewriteCond %{REQUEST_URI} ^/a/$
Rewriterule ^(.*)$ http://example.com/b/ [L,R=301]
</IfModule>

# END Redirect Root Only

Need to redirect index.php, index.html, or other index pages too? Uncheck the line in code above. Because %{REQUEST_URI} ^/a/$ excludes all direct file paths including /a/index.html,index.php,index.py,etc.

Upvotes: 1

Related Questions