CodeIgniter ne montrant que contrôleur par défaut
J'utilisant Codeigniter en Local WAMP. Ici, le code fonctionne bien. Mais j'ai télécharger dans Cpanel ( à l'intérieur de example.com, le nom du dossier d'appel 'mysite
'). Là, j'ai changé,
- db_name (config/database.php)
- db_user_name (config/database.php)
- db_password (config/database.php)
- base_url comme http://example.com/mysite (config/config.php)
- uri_protocol comme REQUEST_URI (config/config.php)
Et a également changé .htaccess
(mysite/.htaccess),
<IfModule mod_rewrite.c>
RewriteEngine On
# Set the rewritebase to your CI installation folder
RewriteBase /mysite/
# Send everything to index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
Mais pas dans les monsite/application/.htaccess . Elle est vide.
Problème est que Si je vais http://example.com/mysite , elle montre la page par défaut comme correctement. Mais si je clique sur un lien (http://example.com/mysite/user/signin), elle montre la même page par défaut. mais l'URL est modifiée.
m'aider, s'il vous Plaît...
config.php
$config['base_url'] = 'http://example.com/mysite';
$config['index_page'] = '';
$config['uri_protocol'] = 'REQUEST_URI';
$config['url_suffix'] = '';
$config['language'] = 'english';
$config['charset'] = 'UTF-8';
$config['enable_hooks'] = FALSE;
$config['subclass_prefix'] = 'MY_';
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';
$config['allow_get_array'] = TRUE;
$config['enable_query_strings'] = FALSE;
$config['controller_trigger'] = 'c';
$config['function_trigger'] = 'm';
$config['directory_trigger'] = 'd';
$config['log_threshold'] = 0;
$config['log_path'] = '';
$config['log_date_format'] = 'Y-m-d H:i:s';
$config['cache_path'] = '';
$config['encryption_key'] = '***';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_expire_on_close'] = FALSE;
$config['sess_encrypt_cookie'] = FALSE;
$config['sess_use_database'] = FALSE;
$config['sess_table_name'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 300;
$config['cookie_prefix'] = "";
$config['cookie_domain'] = "";
$config['cookie_path'] = "/";
$config['cookie_secure'] = FALSE;
$config['global_xss_filtering'] = FALSE;
$config['csrf_protection'] = FALSE;
$config['csrf_token_name'] = 'csrf_test_name';
$config['csrf_cookie_name'] = 'csrf_cookie_name';
$config['csrf_expire'] = 7200;
$config['compress_output'] = FALSE;
$config['time_reference'] = 'local';
$config['rewrite_short_tags'] = FALSE;
$config['proxy_ips'] = '';
define('CSS_FOLDER' , 'application/assets/css');
define('DEFAULT_IMAGE_URL' , 'application/assets/images/default');
routes.php
$route['default_controller'] = "welcome";
$route['404_override'] = '';
$route['user/(:any)'] = 'user/index';
Pouvez-vous nous montrer
maintenant, vous pouvez voir...
lorsque votre demande est situé, dans un sous-dossier?
oui. example.com/mysite/application
avez-vous essayé @user2621595 de réponse? J'ai jusqu'a voté. Semble que l'on o le truc. C'est ce qui fait pour moi.
config/config.php
et config/routes.php
?maintenant, vous pouvez voir...
lorsque votre demande est situé, dans un sous-dossier?
oui. example.com/mysite/application
avez-vous essayé @user2621595 de réponse? J'ai jusqu'a voté. Semble que l'on o le truc. C'est ce qui fait pour moi.
OriginalL'auteur KarSho | 2013-07-16
Vous devez vous connecter pour publier un commentaire.
De mieux que :
Essayez ceci :
OriginalL'auteur Xavier W.
j'ai été confronté à la même question ..c'est résolu lorsque j'utilise
dans config.php ..essayez de l'utilisation de l'AUTO et de PATH_INFO pour la même
assurez-vous de rewrite_module est dans apache
OriginalL'auteur nana.chorage
Si vous prévoyez d'utiliser un sous-dossier sur le serveur de faire la même chose sur local WAMP. De cette façon, vous pouvez le tester avant de l'envoyer sur le serveur.
J'ai été en utilisant CI il y a longtemps mais je pense que vous devez ajouter
mysite/
dans certains fichier de config.Voir: L'installation d'un CodeIgniter application dans un sous-dossier
Mettre votre page en
mysite/
dossier surWAMP
. Si cela ne fonctionne pas de problème dans l'IC.J'ai changé mon nom de dossier que mysite1 de monsite en local WAMP et essayer localhost/mysite1 . Ça fonctionne très bien. j'ai changé seulement $config['base_url'] = 'localhost/mysite1';
Donc CI est OK. Il y a un problème avec le serveur distant. Vous pourriez utiliser un fichier PHP avec
<?php phpinfo(); ?>
pour voir la configuration du serveur (peut-être il n'y a pas demod_rewrite
et.htaccess
ne fonctionne pas), vous pouvez vérifier les infos de CI de journaux dansapplication/logs
dossier, vous pouvez vérifierwrite
situation pourapplication/logs
etapplication/cache
, vous pouvez vérifier l'info dans les logs apache, et vous pouvez activer les messages d'erreurs en PHP (certains serveurs ne pas afficher les erreurs PHP). De cette façon, vous pouvez trouver quelques indices.OriginalL'auteur furas
.htaccess Code
Restaurer la configuration par défaut de config.php, Espérons que cela vous aide.
OriginalL'auteur Rajesh R
CodeIgniter peut être dit de charger un contrôleur par défaut lorsqu'un URI n'est pas présent, comme ce sera le cas lorsque seule la racine de votre site URL est demandé.Donc, une fois de remplacer votre défaut conroller "bienvenue" avec votre conrtoller dans routes.php il peut vous aider à
OriginalL'auteur Manju
OriginalL'auteur Miomir Dancevic
Essayer cette htaccess:
Aussi, vous devez avoir créé contrôleur nommé d'utilisateur et le contrôleur doit avoir la fonction signin.
OriginalL'auteur DeiForm
J'ai utilisé suivantes .fichier htaccess et ça marche pour moi avec cpanel.
OriginalL'auteur Janith Chinthana
Supprimer
dans votre routes.php fichier. l'utilisateur/signin correspond à la condition ci-dessus, c'est pourquoi CI acheminer la demande à l'utilisateur/index au lieu de votre "User" contrôleur "signin" de la fonction.
- Ce que vous essayez d'atteindre à cet itinéraire de configuration?
OriginalL'auteur Kong Jin Jie
Ouvrir config.php et ne suivant remplace
Dans certains cas, le paramètre par défaut pour uri_protocol ne fonctionne pas correctement.
Il suffit de remplacer
$config['uri_protocol'] ="AUTO"
par
$config['uri_protocol'] = "REQUEST_URI"
HTACCESS
OriginalL'auteur Rahul Tailwal
Parfois "ORIG_PATH_INFO" résout ce problème. Ainsi, vous pouvez également essayer de nouveau avec l'évolution de la uri_protocol "ORIG_PATH_INFO"
et
le base_url doit être absolue,
OriginalL'auteur Balaji Kandasamy
Ne pas écrire quoi que ce soit .fichier htaccess et supprimer $route['utilisateur/(:tous les)'] = 'utilisateur/index'; ligne et une chose très importante, assurez-vous que votre serveur de mod de réécriture d'extension devrait me activée.
cela peut vous aider à Comment activer le mod_rewrite en php.ini sur l'hébergement mutualisé
OriginalL'auteur Sumit
J'ai résolu le même problème en changeant le contrôleur nom du fichier à commencer par une lettre majuscule.
Tout comme la valeur par défaut de "Bienvenue" contrôleur téléchargé.
OriginalL'auteur Questioner
Il ya quelques choses que vous devez prendre en considération. lorsque vous configurez votre projet avec codigniter cadre. voici le fichier que vous devez apporter des modifications.
1).htaccess:
2)application/config/config.php
3)application/config/database.php
4)application/config/routes.php
Remarque: votre .htaccess fichier doit être dans le répertoire racine. ici, il devrait être dans monsite dossier
OriginalL'auteur Dhaval Bharadva
essayer cette
Httaccess
OriginalL'auteur thinhnk