简体   繁体   中英

htaccess rewrite for wildcard subdomains

few hours later, i need help. I trie to rewrite the url for using wildcard subdomains.

My domains will be *.domain.com - for example mytest.domain.com

For every subdomain is a subfolder unter www.domain.com/sdom/content/mytest

I've setup the apache/nginx server. For testing i upload a index.html inside the "content" folder.

If i type mytest.comain.com this index.html will display. So now i upload the .htaccess file inside this folder to route from here to the destinations (in this example to the "mytest" folder).

I trie a lot of thiks, at least this

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.domain\.com$
RewriteCond %{HTTP_HOST} ^(.*)\.domain\.com$
RewriteRule (.*) /httpdocs/domain/sdom/content/$1/index.html

i call mytest.domain.com but it wont go to the subfolder, it go to the maindomain.

If i delete the htaccess file, the index.html of the "content" folder will display.

After rewriting the url in the adressfield of the browser shoul display mytest.domain.com - not the new path to the subfolder etc.

What i have to do, that is works ?

UPDATE

subdomains route to -> mainfolder subdomains should route by htaccess to folder that has the same name of the subdomain

So i trie htacess

RewriteCond %{HTTP_HOST} ^(.*)\.domain\.tld$
RewriteRule ^$ /subdomainfolder/index.html

With .htaccess files you can't. Here mytest.domain.com and www.domain.com are different hostnames. So inevitably an external redirect will happen.

If you want different domains run by one physical server you should use virtual hosts:

<VirtualHost *:80> # Change this to *:443 if you use SSL/TLS
    ServerName mytest.domain.com # Your domain name
    DocumentRoot $SRV_ROOT/httpdocs/domain/sdom/content/mytest/ # assuming $SRV_ROOT is set to root of your server
    <Directory "$SRV_ROOT/httpdocs/domain/sdom/content/mytest/">
        Require all granted # on Apache 2.4
        # Below are instructions for Apache 2.2
        Order Allow,Deny
        Allow from all
    </Directory>
</VirtualHost>

You'll need to restart your server each time you add a subdomain, as well as having a DNS record or local record in /etc/hosts file if you test locally.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM