CodeIgniter configuration avec mod_rewrite, xampp et windows
Je suis un noob de CodeIgniter et je suis à essayer de comprendre la configuration pour une application que je suis en train de construire. Quelque chose de mal avec mon installation.
Je suis en cours d'exécution XAMPP sous Windows et j'utilise un alias du répertoire pour pointer vers le répertoire applications. En d'autres termes: "http://localhost/app_name/ " pointe vers le répertoire racine de l'application. Tout semble bien fonctionner jusqu'à ce que je ne l' .htaccess pour mod_rewrite. Ensuite, à chaque fois que j'essaie d'aller à un contrôleur-je obtenir pente de retour à la xampp racine.
Ma config est:
Répertoires
/app_root
/app_root/codeigniter //where code igniter is located.
/app_root/main //where the main app is located. It' the applications
//directory cut from code igniter and renamed.
.htaccess
<IfModule mod_rewrite.**so**>
RewriteEngine On
RewriteBase **/app_name/**
RewriteCond %{REQUEST_URI} ^codeigniter.*
RewriteRule ^(.*)$ /index.php?/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 /index.php
</IfModule>
index.php
$system_folder = "@codeigniter";
$application_folder = "main";
app_name/main/config/config.php
$config['base_url'] = "http://localhost/app_name/";
$config['index_page'] = "";
app_name/main/config/routes.php
$route['default_controller'] = "welcome";
Je dois aussi préciser que la app_name est un alias pour un disque différent de celui de la racine d'apache.
Apache Root: c:\xampp\htdocs\
App_name: d:\projects\app_name\development\
L'alias est:
Alias /app_name "d:/projects/app name/development"
<Directory "d:/projects/app name/development">
Options Indexes FollowSymLinks ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
Merci d'avance pour l'aide... Et si vous n'avez pas l'esprit s'il vous plaît "expliquer" ce que vous faites lorsque vous répondez avec le code. Je veux savoir ce que je fais mal. Si vous pouvez m'aider avec cela, je vais vous acheter une bière (via PayPal). Ce qui est frustrant.
Vous devez vous connecter pour publier un commentaire.
Succès!!
J'ai enfin réussi à obtenir la réécriture d'URL fonctionne et ce long voyage ardu qu'il était. Voici ce que j'ai obtenu de travail enfin. Prendre note qu'il n'y a pas de barre oblique inverse sur le RewriteBase. Très intéressant compte tenu de ce que j'ai lu. Merci à tous ceux qui ont essayé de l'aider.
Si votre utilisation de XAMPP sur un ordinateur local, vous devez utiliser
internal
plutôt quemod_rewrite
.Il vous permettra de charger vos pages sous le nom d'alias.
il m'a fallu un certain temps pour comprendre que - apparemment, vous devez utiliser
mod_rewrite
sur des serveurs distants afin d'atteindre la même chose.dans votre .htaccess doit être
de spécifier le chemin où il est..
Tout d'abord, une question. Est votre
$system_folder
variable de vraiment s':ou était-ce un nerf de l'étrange (pour moi) de façon utilise markdown? Si elle l'est, retirez la
@
. C'est un caractère non valide pour le répertoire/les noms de fichiers.Prochaine, je croire votre
RewriteBase
devrait être/
, puisque vous utilisez un alias dans Apache, mais ne pas me citer sur ce point.Personnellement, j'utilise l' .htaccess format fourni ici: CodeIgniter Url dans le Guide de l'Utilisateur; sous la rubrique Retrait de la index.php fichier. Il y a beaucoup de façons de le faire, cependant. Un rapide recherche sur Google rendements de quelques milliers de dollars.
Avez-vous des
mod_rewrite
activé? Vérifiez le post sur le forum ici.