2009-10-13 4 views
1

Je développe un site sur mon localhost (application Usbwebserver). J'utilise le cadre CodeIgniter:problème de ré-écriture dans codeigniter

url est "http://localhost/daniel/index.php"

avec les options suivantes:

config/déroutes:

$route['default_controller'] = "site"; 

config/config:

$config['base_url'] = "http://localhost/daniel"; 
$config['index_page'] = ""; 
$config['uri_protocol'] = "REQUEST_URI"; 

J'ai essayé le code .htaccess suivant:

RewriteEngine On RewriteBase/

#Removes access to the system folder by users. 
#Additionally this will allow you to create a System.php controller, 
#previously this would not have been possible. 
#'system' can be replaced if you have renamed your system folder. 
RewriteCond %{REQUEST_URI} ^system.* 
RewriteRule ^(.*)$ /index.php?/$1 [L] 

#Checks to see if the user is attempting to access a valid file, 
#such as an image or css document, if this isn't true it sends the 
#request to index.php 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?/$1 [L] 

# Si nous n'avons pas mod_rewrite installé, # 404 de l'ensemble peut être envoyé à index.php, et tout fonctionne normalement. # Soumis par: ElliotHaughin

ErrorDocument 404 /index.php 

Je veux enlever index.php et pour charger mon contrôleur par défaut avec http://localhost/daniel.

Des suggestions?

Répondre

1

Essayez:

RewriteRule ^(.*)$ /daniel/index.php?/$1 [L] 
+0

J'ai essayé cela et je pense que cela a fonctionné, je veux dire http: // localhost/daniel/site m'a redirigé sur index.php. Cependant, il montre 404 Page Not Found généré par CodeIgniter. J'ai ajouté un écho au début de l'index.php et il a échoué correctement. Pensez qu'il y a un problème dans les paramètres de codeigniter.(presque oublié de mentionner que j'ai le dossier de l'application en dehors du dossier système) – Kote

+0

question idiote, mais vous avez un contrôleur nommé «site», non? –

+0

oui, je le fais. Et c'est mon contrôleur par défaut – Kote

1

je le hataccess du wiki CodeIgniter (le même que j'avais ci-dessus):

RewriteEngine On RewriteBase/

# Removes the "/" at the end 
RewriteRule (.+)/$ /$1 [L,R] 

RewriteCond %{REQUEST_URI} ^system.* 
RewriteRule ^(.*)$ /index.php?/$1 [L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ daniel/index.php?/$1 [L] 

# Si nous n'avons pas installé mod_rewrite, tous les 404 # peuvent être envoyé à index.php, et tout fonctionne normalement. # Soumis par: ElliotHaughin

ErrorDocument 404 /index.php 

Avec toute la même option, seulement $ config [ 'uri_protocol'] = "AUTO" (au lieu de URI_PROTOCOL) et en quelque sorte, il a commencé à travailler (et J'ai le dossier d'aplication à l'extérieur du dossier du système)

Merci à tous ceux qui m'ont aimablement répondu!