2011-05-27 5 views
4

Je suis en train de mettre en place un sous-domaine pour mon application parce que je ne veux pas de code administrateur à mélanger dans les mêmes dossiers que le code d'utilisateur régulier. J'utilise CakePHP sur un serveur PHPfog, donc je peux seulement utiliser .htaccess pour créer le sous-domaine. J'ai activé le support de sous-domaine générique..htaccess redirect subdomain dans un dossier spécifique - CakePHP App

Voici ma structure de dossier:

app 
app-admin 
cake 
plugins 
vendors 
index.php 
.htaccess 

Le dossier 'app' est où le code du site "utilisateur normal" est situé. Le dossier "app-admin" sera pour les administrateurs, bien sûr.

Je suis en train d'obtenir une règle de réécriture spécifique qui redirigera tout ce qui va à l'admin.mydomain.com, dans le dossier « app-admin ». Tous les autres sous-domaines doivent être ignorés (envoyés au dossier 'app').

Le fichier .htaccess stock dans une application CakePHP ressemble à ceci:

RewriteEngine on 
RewriteRule ^$ app/webroot/ [L] 
RewriteRule (.*) app/webroot/$1 [L] 

En ce moment je suis en train cela avec pas de chance:

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^admin[NC] 
RewriteRule ^$ app-admin/webroot/ [L] 
RewriteCond %{HTTP_HOST} ^admin[NC] 
RewriteRule (.*) app-admin/webroot/$1 [L] 

RewriteRule ^$ app/webroot/ [L] 
RewriteRule (.*) app/webroot/$1 [L] 

Toute aide pour obtenir ce fonctionnement serait très appréciée.

Répondre

2

Pouvez-vous mettre ce code dans votre .htaccess et essayez à nouveau:

Options +FollowSymlinks -MultiViews 
RewriteEngine on 

RewriteCond %{HTTP_HOST} ^admin\. [NC] 
RewriteRule ^(?!app-admin/) app-admin/webroot%{REQUEST_URI} [L,NC] 

RewriteRule ^(?!app/) app/webroot%{REQUEST_URI} [L,NC] 

s'il vous plaît également signaler quelques détails comme ce que les URL ne fonctionnent pas. Un bon endroit à regarder serait apache error.log et le journal d'accès.