web-dev-qa-db-fra.com

Comment utiliser différents domaines pour différents blogs hébergés dans le même hôte dans des sous-domaines avec .htaccess

Contexte

j'ai un site web fonctionnant sur wordpress et tous ses fichiers sont situés dans public_html de mon hôte. À l'intérieur de celui-ci, j'ai créé un sous-domaine "phantomomaga" et redirigé un autre domaine vers ce sous-domaine afin de le rendre "www.phantomomaga.tk" au lieu de "phantomomaga.my-domain.com" pour cela, j'ai ajouté du code au fichier .htaccess. de mon public_html comme dit ici pour le faire suivre

Code

# 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>

# END WordPress

#Fix missing trailing slash character on folders.
RewriteRule ^([^.?]+[^.?/])$ $1/ [R,L]

#www.phantomomaga.tk and phantomomaga.tk will map to the folder {root}/phantomomaga/
RewriteCond %{HTTP:Host} ^(?:www\.)?phantomomaga\.tk$
RewriteCond %{REQUEST_URI} !^/phantomomaga/
RewriteRule ^(.*) phantomomaga/$1 [NC,L,NS]

Problème

En raison de cette modification, j'ai pu réaliser ce que je voulais, mais pour une raison inconnue de moi maintenant, le permalien de mon sous-domaine ne fonctionne pas et je continue à avoir des erreurs non trouvées de mon installation wordpress qui se trouve dans mon dossier racine et si je supprime

# 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>

# END WordPress 

depuis le .htaccess, le sous-domaine fonctionne parfaitement, mais la racine une gâche donc je pense que le problème est avec le .htaccess de la racine ou du sous-domaine et je ne peux pas trouver la solution même après l'avoir googlé, alors aidez-moi s'il vous plaît.

1
phantom.omaga

j'ai enfin trouvé la solution moi-même et je la poste maintenant afin que d'autres puissent en bénéficier

cette rechute le code entier de mon .htaccess avec ce qui suit et cela a fonctionné

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

# ---------------------------------------
# BEGIN Domain to folder mapping

# pointing phantomomaga.tk to phantomomaga
ReWriteCond %{HTTP_Host} phantomomaga.tk
ReWriteCond %{REQUEST_URI} !phantomomaga/
ReWriteRule ^(.*)$ phantomomaga/$1 [L]

# END Domain to folder mapping
# ---------------------------------------

# ---------------------------------------
# BEGIN WordPress

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress
# ---------------------------------------

# ---------------------------------------
# BEGIN htaccess pretection

<Files .htaccess>
order allow,deny
deny from all
</Files>

# END htaccess pretection
# ---------------------------------------

</IfModule> 

vous pouvez le faire avec plusieurs domaines comme suivre

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

# ---------------------------------------
# BEGIN Domain to folder mapping

# pointing domain_1.com to folder_1
ReWriteCond %{HTTP_Host} domain_1.com
ReWriteCond %{REQUEST_URI} !folder_1/
ReWriteRule ^(.*)$ folder_1/$1 [L]

# pointing domain_2.com to folder_2
ReWriteCond %{HTTP_Host} domain_2.com
ReWriteCond %{REQUEST_URI} !folder_2/
ReWriteRule ^(.*)$ folder_2/$1 [L]

# END Domain to folder mapping
# ---------------------------------------

# ---------------------------------------
# BEGIN WordPress

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress
# ---------------------------------------

# ---------------------------------------
# BEGIN htaccess pretection

<Files .htaccess>
order allow,deny
deny from all
</Files>

# END htaccess pretection
# ---------------------------------------

</IfModule> 

Source = http://wordpress.org/support/topic/success-mapping-multiple-domains-to-different-folders-with-htaccess?replies=1#post-593544

0
phantom.omaga

Vous avez besoin d'un vhost pour le sous-domaine qui redirige vers public_html/sub_domain_folder au lieu d'essayer de rediriger avec .htaccess. Vous pouvez ensuite faire une redirection www dans public_html/sub_domain_folder/.htaccess.

Il devrait y avoir une option dans cpanel lors de la création du sous-domaine. Spécifiez le dossier vers lequel il est dirigé si vous n’avez pas un accès direct à votre vhost.

0
Chris_O