2013-04-16 9 views
-2

Nous avons un site Web qui fonctionne même site dans 8 pays différents. Cependant, nous ne divulguons pas cette information aux utilisateurs. Voici comment nous traitons les thèmes. /httpdocs/themes/www.sitename.com/default/ et dans htaccess, nous sautons www.sitename.com partie avec un RewriteRule et l'utilisateur ne voit, /httpdocs/themes/default dans son emplacement de navigateur.Exécuter plusieurs sites sur un seul code

Cela fonctionne très bien, mais plus nous ajoutons de sites, plus cela devient problématique lorsque nous avons besoin de créer cet environnement sur un serveur de développement et des PC de développement locaux.

Comment gérons-nous ce problème d'emplacement d'adresse. Il est plus facile de supprimer la ligne htaccess et de tout mettre dans un fichier de configuration, mais cela nous enlève une certaine finesse que nous avons obtenue.

Infos complémentaires

est ici la règle htaccess.

Maintenant sur local, il devient sur le dossier,/resources/localsite/image alors qu'en live /resources/www.sitename.com/image.

Puisque nous traitons à travers le htacess par conséquent, la règle ne fonctionne pas sur Local. La finesse dont je parle est que l'utilisateur/admin ne sait pas que nous traitons merveilleusement ces sites en un seul code.

Essayer d'écrire commande dans Vhost

A écrit cette commande dans vhost.conf créer sous Plesk.

<If "%{SERVER_NAME} = 'www.sitename.com'"> 
     SetEnv ThemePath www.sitename.com 
</If> 

mais l'erreur s'est produite.

Starting httpd: Syntax error on line 23 of vhost.conf: Invalid command <If, 
perhaps misspelled or defined by a module not included in the server configuration 
+0

Quel est le problème lorsque vous devez créer cet environnement sur un serveur de développement et des PC de développement local? – Oswald

+0

Que signifie «ça nous enlève une certaine finesse que nous avons obtenue»? – Nanne

+0

Pouvez-vous publier votre .htaccess actuel dans votre question? – anubhava

Répondre

1

Vous devez ajouter ce qui suit dans votre configuration Apache vhost. Je n'ai pas testé dans un fichier .htaccess, mais je ne peux pas penser à une raison évidente pour laquelle cela ne fonctionne pas:

SetEnvIf HOST ^www.somesite.com$ NONWWWURL=1 
SetEnvIf HOST ^somesite.com$ NONWWWURL=0 

Je crois que cela devrait réaliser ce que vous recherchez.

Questions connexes