1 votes

Apache2.4 mod_rewrite ne me redirigera pas vers un sous-répertoire en fonction du domaine visité

J'ai un serveur Apache2.4 avec un répertoire public dans /var/www/html. Dans ce répertoire, j'ai un site Wordpress avec ce .htaccess:

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

Au même niveau du site wp, il y a un sous-répertoire avec une API RESTful /var/www/html/api/

et une page d'atterrissage temporaire dans /var/www/html/temp/

Ce que j'aimerais réaliser est :

  • lorsqu'un utilisateur visite mondomaine.com ou www.mondomaine.com, il devrait voir la page d'atterrissage dans temp comme s'il s'agissait de la racine

  • lorsqu'un utilisateur visite le serveur avec l'IP en clair à la place, il devrait voir le blog wordpress (c'est-à-dire que xxx.xxx.xxx.xxx/ apparaît comme la racine du blog) et devrait accéder à l'API de la même manière (xxx.xxx.xxx.xxx/api/...)

J'ai essayé de nombreuses combinaisons dans .htaccess comme ceci :

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?mondomaine.com$
RewriteRule ^(/)?$ temp [L]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

mais sans succès. Des suggestions? Merci d'avance.

1voto

Esa Jokinen Points 41064

Tout d'abord, si vous avez accès à la configuration du serveur, vous ne devriez pas utiliser .htaccess car cela ralentit votre Apache. De plus, il est bien plus facile de gérer cela avec deux hôtes virtuels séparés.

1) /etc/apache2/sites-enabled/000-default (pour les adresses IP et les noms d'hôte non spécifiés):

        DocumentRoot /var/www/html

2) /etc/apache2/sites-enabled/example.com pour votre exemple.com et www.exemple.com.

        ServerName example.com
        ServerAlias www.example.com
        DocumentRoot /var/www/html/temp

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X