Maison  >  Questions et réponses  >  le corps du texte

apache - URL du nom de domaine de deuxième niveau mappé au nom de domaine de premier niveau

Supposons que le nom de domaine de premier niveau soit taobao.com
Chaque magasin possède un nom de domaine de deuxième niveau. Il existe un magasin appelé Baobao, et son nom de domaine est baobao.taobao.com
Chaque magasin est accessible via le nom de domaine de deuxième niveau et redirigé vers taobao.com/shop/baobao

C'est-à-dire qu'il existe un grand nombre de magasins, chaque magasin a un nom de domaine de deuxième niveau, en supposant que le nom de domaine soit xxx.taobao.com
Il faut se tourner vers taobao.com/shop/xxx

Les enregistrements DNS *A pointent tous vers cette machine.
S'il est implémenté à l'aide d'Apache mod_rewrite, comment écrire la configuration ?

Existe-t-il d'autres moyens ?

给我你的怀抱给我你的怀抱2734 Il y a quelques jours866

répondre à tous(4)je répondrai

  • 淡淡烟草味

    淡淡烟草味2017-05-16 17:05:56

    Nginx s'écrit probablement ainsi :

    server {
      listen 80;
      server_name xxx.taobao.com;
      if ( $http_host ~* “^(.*)\.taobao\.com$”) {
      set $domain ;
      rewrite ^(.*) http://taobao.com/$domain/ break;
      }
    }
    

    Apache est similaire à :

    RewriteRule ^/([-a-z0-9]+)\.taobao\.com\/?$ http://taobao.com// [L]
    

    répondre
    0
  • 迷茫

    迷茫2017-05-16 17:05:56

    Objectif
    Lors de l'accès à abc.test.com, vous accédez à www.test.com/test/abc, l'adresse du navigateur affichera l'adresse abc.test.com.
    Méthode
    Ajoutez un nouvel hôte virtuel au fichier de configuration Apache
    NomVirtualHost :80

    Nom du serveur www.test.com
    ServeurAlias ​​​​*.test.com
    DocumentRoot /var/www/test
    réécrire le moteur activé
    réécriturecond %{HTTP_HOST} [^.]+.test.com$
    réécriture de la règle ^(.+) %{HTTP_HOST}$1 [C]
    rewriterule ([^.]+).test.com(.
    ) /test/$1$2 #/test est le répertoire derrière www.test.com/

    De plus, pouvez-vous activer votre débogage et consulter les journaux ?

    répondre
    0
  • 高洛峰

    高洛峰2017-05-16 17:05:56

    J'ai ajouté la configuration Apache :
    RewriteRule ^/([-a-z0-9]+).xiaocaowangluo.com/?$ http://xiaocaowangluo.com/shop/$1/ [L]

    Il y a deux connexions ici http://xiaocaowangluo.com/shop/test/ http://test.xiaocaowangluo.com/ Cette configuration a été ajoutée.

    http://test.xiaocaowangluo.com/ Je ne parviens toujours pas à accéder à http://xiaocaowangluo.com/shop/test/ Dois-je en ajouter d'autres

    Pour moi d'utiliser
    RewriteEngine sur RewriteCond %{HTTP_HOST} ^[^.]+.xiaocaowangluo.com$
    RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
    RewriteRule ^([^.]+).xiaocaowangluo.com(.*) /www/xiaocaowangluo/shop/$1$2

    Cette configuration ne fonctionne pas non plus, aidez-moi s'il vous plaît.

    répondre
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-16 17:05:56

    Apache peut s'écrire comme ça

    RewriteRule ^/([-a-z0-9]+)\.yourdomain\.com\/?$ http://taobao.com// [L]
    

    Configuration de l'application :
    http://www.aips.me/sae-binding-domain-subdirectory.html

    répondre
    0
  • Annulerrépondre