web-dev-qa-db-fra.com

Plusieurs domaines pointant vers un hébergement mais conservant des URL séparées

Ce que j'essaie de faire est un peu compliqué et pas sûr si possible. La voici:

J'ai un domaine principal "maindomain.com" qui correspond à un événement. Ensuite, j'ai plusieurs autres domaines, disons "location1.com", "location2.com", "location3.com" qui correspondent aux différents lieux où se déroule l'événement ...

OBJECTIF PRINCIPAL

Le site maindomain.com est hébergé dans un VPS (Virtual Private Server (Bluehost)). J'ai développé un site Web prêt à afficher différentes informations en fonction de la variable? Loc que vous transmettez par GET dans le fichier index.php. Je veux que les autres domaines pointent sur "maindomain.com", utilisez le fichier index.php? Loc = 1 (ou 2 ou 3) mais conservez leur nom de domaine d'origine dans la barre d'adresse.

LE DÉFI

La difficulté consiste donc, lors de la navigation dans ces domaines d’emplacement, à conserver le lien permanent propre dans la barre d’URL:

location1.com/section1 --> loads --> maindomain.com/index.php?loc=1&sect=1
location2.com/section3 --> loads --> maindomain.com/index.php?loc=3&sect=3

Devrais-je utiliser les options de domaine/hébergement et/ou .htaccess ??

MODIFIER

Je pense que la question plus spécifique est: comment configurer chaque domaine d'emplacement pour qu'il pointe vers le domaine principal où se trouve le site hébergé?

N AUTRE (MEILLEUR) EXEMPLE

azsuperexpo.com/about --> loads --> thesuperexpos.com/index.php?loc=3&sect=2

-> Avoir superexpos.com le domaine principal où le site web/la base de données est hébergé MAIS ce que vous voyez dans la barre d'adresse est azsuperexpo.com/about

Je veux avoir un site central qui récupère les informations de sa base de données mais sur la barre d'adresse de votre navigateur, vous verrez les différents domaines avec des permaliens correspondants aux différentes sections (chargés via des variables php extraites de la base de données).

Je pense que je devrai absolument utiliser .htaccess pour que les URL soient jolies, comme dans l'exemple ci-dessus. Est-ce que le masquage serait une option? Je sais que ce n'est pas recommandé par les moteurs de recherche, mais si c'est la seule option, je suis prêt à l'essayer.

Merci mille fois.

5
Alvaro

C'est ce qui a fonctionné:

1) J'ai indiqué (DNS) chaque domaine (location1.com, location2.com...) à l'emplacement où maindomain.com est hébergé.

2) Dans le plan d'hébergement, j'ai ajouté chaque domaine en tant que PARKED DOMAIN.

3) Dans le fichier .htaccess, je devais définir chaque domaine comme suit:

# location1.com
# -------------    
RewriteCond %{HTTP_Host} ^www\.location1\.com
RewriteRule ^$ index.php?loc_id=1 [L]
RewriteRule ^home$ index.php?loc_id=1&sect_id=1 [L]
# ...and so on for any other subsection

# location2.com
# -------------    
RewriteCond %{HTTP_Host} ^www\.location2\.com
RewriteRule ^$ index.php?loc_id=2 [L]
RewriteRule ^home$ index.php?loc_id=2&sect_id=1 [L]
# ...and so on for any other subsection
0
Alvaro

J'espère que j'ai bien compris. Mais il semblerait que vous souhaitiez exécuter trois domaines (maindomain.com, location1.com, location2.com et location3.com) sur un seul serveur Web et que chacun pointe vers une URL ou un dossier particulier sur le serveur Web. Si c'est le cas, vous pouvez le faire avec des hôtes virtuels et le serveur Web Nginx . Un fichier hôte virtuel décrit un seul domaine et indique où le serveur Web peut trouver les fichiers à servir. Vous pouvez avoir plusieurs fichiers d’hôte virtuel, chacun différent des autres. Lorsque Nginx reçoit une demande relative à "location1.com", il charge l'hôte virtuel "location1.com", puis pointe le demandeur au bon endroit. Même chose pour les autres hôtes virtuels.

Nginx

Les fichiers de configuration de l'hôte virtuel sont stockés dans le répertoire "/ etc/nginx/sites-available/default/etc/nginx/sites-available". Pour que cela fonctionne, vous devrez créer quatre fichiers hôtes:

/etc/nginx/sites-available/default/etc/nginx/sites-available/maindomain.com
/etc/nginx/sites-available/default/etc/nginx/sites-available/location1.com
/etc/nginx/sites-available/default/etc/nginx/sites-available/location2.com
/etc/nginx/sites-available/default/etc/nginx/sites-available/location3.com

Fichier d'hôte virtuel

Configurer un fichier hôte est aussi très facile.

server {
listen 80; ## listen for ipv4; this line is default and implied
#listen [::]:80 default ipv6only=on; ## listen for ipv6

# Make site accessible from maindomain.com  
server_name maindomain.com; 

# Location of folder to serve files from  
root /var/www/maindomain.com;  
index index.html index.htm;

# Location of log files  
access_log /var/log/nginx/maindomain.com.access_log;  
error_log /var/log/nginx/maindomain.com.error_log;

J'espère que ça aide!

4
Patrick Mullins