2017-10-17 20 views
0

Je n'arrive pas à configurer correctement mon fichier .htaccess pour configurer une redirection de sous-domaine pour des sous-domaines spécifiques. Je souhaite rediriger (sans masquer) un sous-domaine vers une page spécifique et répéter cette configuration plusieurs fois.Problème de redirection du sous-domaine .htaccess du mod re-script Apache

Je suis hébergé sur un Google Compute Engine utilise actuellement DNS dans le nuage (utilisé pour héberger sur GoDaddy dans lequel la gestion des sous-domaine était très simple)

before: 
# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

after: 
# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteCond %{HTTP_HOST} ^sat.theteachertutors.com$ [NC] 
RewriteRule ^(.*)$ /private-sat-act-tutoring/$1 [L] 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

J'ai essayé au-dessus de la config, mais la redirection ne fonctionne pas. L'URL cible est: https://www.theteachertutors.com/private-sat-act-tutoring/ Des conseils/astuces seraient très appréciés. J'ai rechercher d'autres exemples mais ne peut pas obtenir cette configuration pour fonctionner du tout, à savoir: http://sat.theteachertutors.com

Merci

+0

Quelle version d'Apache 2.2 ou 2.4? Avez-vous essayé d'ajouter le drapeau "R" dans la réécriture? comme ceci: 'RewriteRule^(. *) $/privé-sat-acte-tutorat/$ 1 [R, L]' – sys0dm1n

+0

Salut - je l'ai essayé comme ci-dessous, mais toujours pas de chance ... – Yarin

Répondre

0

Vous étiez proche de la solution, changer la règle de réécriture à ceci:

RewriteRule ^(.*)$ https://www.theteachertutors.com/private-sat-act-tutoring/$1 [R=301,L] 

Lorsque vous redirigez vers un autre domaine/sous-domaine, vous devez utiliser l'URL complète. Aussi, j'utilise R=301 pour marquer la redirection comme une redirection permanente (par défaut, les règles pointant vers un autre domaine utilisent une redirection 302).

+0

Salut @ Alberto-martinez . J'ai fait le changement suggéré mais https://sat.theteachertutors.com ne fonctionne pas. D'autres pensées? # BEGIN WordPress RewriteEngine On RewriteBase/ RewriteCond% {HTTP_HOST}^sat.theteachertutors.com $ [NC] RewriteRule^(. *) $ Https://www.theteachertutors.com/privé sam.-ACT- Soutien scolaire/$ 1 [R = 301, L] RewriteRule^index \ .php $ -! [L] RewriteCond% {} -f de REQUEST_FILENAME RewriteCond% {} de REQUEST_FILENAME -d RewriteRule . /index.php [L] # FIN WordPress – Yarin

+0

Quelle est l'erreur que vous obtenez lorsque vous essayez d'accéder au sous-domaine? En outre, le sous-domaine pointe-t-il vers le même emplacement que le domaine www? Je suppose que vous avez déjà configuré le sous-domaine pour qu'il pointe vers le répertoire dans lequel se trouve le fichier .htaccess, qui semble être le répertoire racine du domaine principal, n'est-ce pas? –

+0

Salut @ alberto-martinez, Lorsque vous tentez d'atteindre l'URL que je reçois: Ce site ne peut pas être atteint sat.theteachertutors.com a pris trop de temps pour répondre. Fondamentalement, je veux que le sous-domaine à transmettre à la page sur le site. le fichier .htaccess est à la racine du domaine principal. Il semble que lors de l'accès à l'URL de sous-domaine (https://sat.theteachertutors.com/) la demande ne touche pas le fichier .htaccess. Pourrait-il y avoir une configuration supplémentaire requise dans google cloud dns? Merci! – Yarin