Mobile app version of vmapp.org
Login or Join
Speyer207

: .htaccess directory to subdomain I have been trying to make a subdomain from a directory (made by .htaccess) to be used as the main page starting like http://domain.com/sub/2/3/4.html and turning

@Speyer207

Posted in: #301Redirect #Apache #Htaccess #Subdomain

I have been trying to make a subdomain from a directory (made by .htaccess) to be used as the main page starting like domain.com/sub/2/3/4.html and turning into sub.domain.com/2/3/4.html.
The folder system goes like:

wwwsub23


in www there is a index.html and in the sub folder there is a different index.html.

I currently have this code which I found on another site:

Options -Indexes +FollowSymLinks

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^domain.com [NC]
RewriteRule ^(.*)$ www.domain.com/ [L,R=301]

RedirectMatch 301 ^/sub/(.*)$ sub.domain.com/

It is successful with changing the domain path to sub.domain.com/, but it is not successful in changing the page shown from the index in the www directory to the index in the sub directory.

It is also not successful in allowing to open other pages, i.e. not allowing sub.domain.com/2/3/4.html. If anyone can give any advice it would be much appreciated.

10.02% popularity Vote Up Vote Down


Login to follow query

More posts by @Speyer207

2 Comments

Sorted by latest first Latest Oldest Best

 

@Murphy175

I have found some fantastic code for the .htaccess
that converts any folder in the main www directory into sub-domains
e.g. www/somefolder turns into somefolder.domain.com
you can also set it so that any directory inside a certain directory becomes a subdomain
e.g. www/folder/somefolder turns into somefolder.domain.com

the code below is set to redirect directory's inside a specific directory

Options +FollowSymLinks -Multiviews
RewriteEngine on
RewriteBase /
#
# Canonicalize the hostname
RewriteCond %{HTTP_HOST} ^(www).(example.com) [OR]
RewriteCond %{HTTP_HOST} ^www.([^.]+).(example.com) [OR]
RewriteCond %{HTTP_HOST} ^([^.]+).www.(example.com) [OR]
RewriteCond %{HTTP_HOST} ^([^.]+).(example.com). [OR]
RewriteCond %{HTTP_HOST} ^([^.]+).(example.com):[0-9]+
RewriteRule (.*) %1.%2/ [R=301,L]
#
# If subdomain is NOT www
RewriteCond %{HTTP_HOST} !^www.example.com [NC]
# Extract (required) subdomain to %1
RewriteCond %{HTTP_HOST} ^([^.]+).example.com$
# Rewrite if requested URL resolves to existing file or subdirectory in /subdomains/<subdomain>/ path
RewriteCond %{DOCUMENT_ROOT}/subdomains/%1/ -f [OR]
RewriteCond %{DOCUMENT_ROOT}/subdomains/%1/ -d
RewriteRule (.*) /subdomains/%1/ [L]


simply change 'example.com' to your domain e.g. 'domain.com'
make sure you don't remove any of the other symbols apart from dots .
currently the directory's in the folder called 'subdomains' will change into a subdomain e.g. www/subdomains/blog will turn into 'blog.domain.com'
to set it to just change the folders in the www directory to subdomains
e.g. www/blog will turn into 'blog.domain.com'

if you want to automatically forward to a subdomain e.g. blog.domain.com
you will need to put this at the end of the other code

RewriteCond %{HTTP_HOST} ^example.com$ [NC]
RewriteRule ^(.*)$ blog.example.com/ [R=301,L]


hope this works for everyone it took me ages to find a solution to this horrible problem
thanks
Reblerebel

10% popularity Vote Up Vote Down


 

@Welton855

You need to configure a apache virtual host for sub.domain.com with www/sub as its DirectoryRoot.

10% popularity Vote Up Vote Down


Back to top | Use Dark Theme