Bonjour,
J'ai un soucis dans la config de mes vhosts, en fait ils sont fonctionnent bien mais je n'arrive pas à mettre en place le fait qu'un script n'aille pas accéder au fichier d'un autre vhost. J'ai plusieurs vhosts (pointant vers la même racine) et chacun correspond à un sous-domaine.
En gros:
static.monsite.com : pour servir les css,js,swf,img avec pour url monsite.com/img/, monsite.com/css/, .....
msg.monsite.com: pour les scripts du module "message" dont l'url commence par msg.monsite.com/message/....
www.monsite.com: pour le reste
L'objectif étant de rediriger tous les scripts qui n'ont pas à être exécuté sur un vhost (sous domaine) donné vers la page www.monsite.com/home/.
Par exemple si on essaye de "fourber" dans l'url avec msg.monsite.com/compte/profil/ au lieu de www.monsite.com/compte/profil l'utilisateur est automatiquement redirigé vers www.monsite.com/home/
Je suis parti sur l'idée d'utiliser le mod_rewrite d'apache.
Voici la config d'un de mon vhost de test:
Je veux tester si dans la requête demandée apparaît "/message/", si non on redirige vers monsite.com/home .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 <VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot "D:/site/zend_workspace/monsite/public" ServerName msg.monsite.com ErrorLog "c:/wamp/logs/msg_error.log" CustomLog "c:/wamp/logs/msg_access.log" common RewriteEngine On RewriteCond %{REQUEST_URI} !^/message/ RewriteRule ^(.*)$ <a href="http://www.monsite.com/home/" target="_blank">http://www.monsite.com/home/</a> [L] <directory "D:/site/zend_workspace/monsite/public"> Options Indexes FollowSymLinks AllowOverride all Order Deny,Allow Deny from all Allow from 127.0.0.1 Allow from .monsite.com </directory> </VirtualHost>
Sachant que par défaut avec Zend, j'ai un .htaccess dans le rep /public/ (public/css/, public/img... et public/index.php) qui contient:
D'après ce que j'ai compris, apparemment toutes les requêtes passerait par index.php avant d'être traitée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 RewriteEngine On RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [NC,L] RewriteRule ^.*$ index.php [NC,L]
Quelqu'un serai me dire ce qu'il ne va pas dans la config de mon vhost?
Merci
Partager