Je subdomein een website geven. voor een subdomein (zoals sub.example.com) kun je ook een eigen website geven. De website van jouw subdomein plaats je in een eigen map met dezelfde naam, bijvoorbeeld /www/sub.

Een eigen website voor een subdomein regel je door onderstaande code te plaatsen in een .htaccess-configuratiebestand (Linux Apache) of web.config XML-configuratiebestand (Windows Server IIS). In de voorbeelden hieronder vervang je (sub)\.example\.com door jouw subdomein plus domeinnaam. Zet ook haakjes om het subdomein en plaats een \ voor iedere punt.

Een subdomein kan bijvoorbeeld ook shop.example.com, webshop.example.com of kantoor.example.com zijn.

Link naar deze kopLinux Apache .htaccess

Op een Linux server met Apache webserver kun je het volgende .htaccess-voorbeeld gebruiken:

RewriteEngine On
# Let op! Er moet een .htaccess in de map van het subdomein staan met de tekst RewriteEngine On.
# Eigen website voor subdomein
RewriteCond %{HTTP_HOST} ^(sub)\.example\.com$
RewriteCond %{PATH_INFO} !^/sub
RewriteRule (.*) /%1/$1 [L,END]

Let op: je moet een .htaccess met daarin alleen RewriteEngine On plaatsen in de doel-map /sub

Link naar deze kopWindows Server IIS web.config

Je kunt dit ook regelen met een web.config XML-configuratiebestand voor Windows Server IIS.

<?xml version="1.0" encoding="UTF-8"?>
  <configuration>
    <system.webServer>
      <rewrite>
        <rules>
          <rule name="Eigen website voor subdomein sub">
            <match url="(.*)" />
            <conditions trackAllCaptures="true">
              <add input="{HTTP_HOST}" pattern="^(sub)\.example\.com$" />
              <add input="{PATH_INFO}" pattern="^/sub" negate="true" />
            </conditions>
          <action type="Rewrite" url="/{C:1}/{R:1}" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

Let op: ook al functioneert het .htaccess-voorbeeld van Apache hierboven ook op Windows Server IIS, je kunt het beste gebruikmaken van web.config-bestanden. Dat is native voor Windows Server IIS, gebruik bij voorkeur geen .htaccess op Windows.

Link naar deze kopMeerdere subdomein groeperen in één (1) rule

Geavanceerde gebruikers kunnen meerdere subdomeinen groeperen in één (1) regel. Zodoende hoef je voor tien subdomeinen niet tien keer bijna dezelfde regels te maken. Wel moeten alle subdomeinen op opgegeven worden. Een kort .htaccess-voorbeeld:

RewriteEngine On
# Let op! Er moet een .htaccess in de mappen van elk subdomein staan met de tekst RewriteEngine On
# Eigen website voor meerdere subdomeinen tegelijk.
RewriteCond %{HTTP_HOST} ^(images|assets|js)\.example\.com$
RewriteCond %{PATH_INFO} !^/(images|assets|js)
RewriteRule (.*) /%1/$1 [L,END]

In dit voorbeeld worden de subdomeinen images, assets en js herschreven. De pipe (|) vertaalt zich naar “of”, dus:

  • is de HTTP_HOST images.example.com, of assets.example.com, of js.example.com?
  • en is PATH_INFO niet images, of assets, of js?
  • herschrijf het request dan naar /subdomein

de $1 in RewriteRule zorgt ervoor dat het opgevraagde bestand ook meegegeven wordt, bijvoorbeeld afbeelding.jpg (/images/afbeelding.jpg)

Let op: je moet een .htaccess met daarin alleen RewriteEngine On plaatsen in de doel-map /example.net

In een web.config XML-configuratiebestand werkt dit net zo:

...
<rule name="Eigen website voor meerdere subdomeinen">
  <match url="(.*)" />
    <conditions trackAllCaptures="true">
      <add input="{HTTP_HOST}" pattern="^(images|assets)\.example\.com$" />
      <add input="{PATH_INFO}" pattern="^/(images|assets)" negate="true" />
    </conditions>
    <action type="Rewrite" url="/{C:1}/{R:1}" />
  </rule>
...

Wat vind jij van dit antwoord?

Bedankt voor je feedback!

Er is een fout opgetreden. Probeer het later opnieuw.