Je configure donc SVN sur mon serveur domestique (Ubuntu 9.1), et je veux pouvoir voir immédiatement les modifications apportées à mon application CodeIgniter. Donc, ma copie de travail se trouve dans/home/mon_nom/environnements/developpement/nom_application.Boucle infinie sur la combinaison de RewriteRules
Mon Vhost est accessible à dev.appname.myname.ca, et la configuration ressemble à ceci:
DocumentRoot /home/myname/environments/development/
ServerName dev.myname.ca
ServerAlias dev.*.myname.ca
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.* [NC]
RewriteCond %{HTTP_HOST} ^dev.([^\.]+)\.myname\.ca
RewriteCond /home/myname/environments/development/%1/trunk/ -d
RewriteRule ^(.*) /%1/trunk/public/$1
Alors, va dev.appname.myname.ca citerais/home/myname/environnements/développement/appname/trunk/public.
Maintenant, ce qui est une application CodeIgniter, je dois rediriger toutes les demandes du secteur public/à/index.php publique, de sorte que le fichier .htaccess en public/est comme suit:
RewriteEngine On
RewriteCond $1 !^(index\.php)
RewriteRule ^(.*)$ index.php/$1 [L]
Je cette part dans un fichier .htaccess parce que sur un site de production en direct, je n'aurai pas accès à la configuration du serveur, donc je devrais le remplacer.
Le problème est maintenant que j'obtiens une boucle de redirections et finalement une erreur 500.
De /var/log/apache2/error.log:
redirected from r->uri = /appname/trunk/public/index.php/appname/trunk/public/index.php/appname/trunk/public/index.php/appname/trunk/public/index.php/appname/trunk/public/index.php/appname/trunk/public/index.php/appname/trunk/public/index.php/
Comment puis-je rediriger la requête vers le bon répertoire public/(dans ce cas,/home/myname/environnement/développement/appname/trunk/publc) et ALORS diriger toutes les demandes de public/vers public/index.php?
Je sais que c'est une question longue - merci pour votre aide. :)
Si vous le faites CodeIgniter ne marchera jamais.L'indicateur [L] signifie qu'il redirigera vers index.php, puis ne redirigera plus. –