2017-10-07 2 views
0

Salut enlevé avec succès le index.php dans mon url, mais le [controller folder]/[function]/[argument] ne fonctionne plusCodeIgniter htaccess: `[contrôleur]/[fonction]/[arguments]` ne fonctionne pas

c'est mon htacess

RewriteEngine on 
RewriteCond $1 !^(index\.php|resources|robots\.txt) 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/$1 [L,QSA] 

J'ai aussi changé cette

$config['uri_protocol'] = 'REQUEST_URI'; 
$config['index_page'] = ''; 

c'est ma config [ 'base_url']

$base = "http://".$_SERVER['HTTP_HOST']; 
$base .= str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']); 
$config['base_url'] = $base; 

et j'ai changé http.conf dans apache AllowOverride Tous

J'ai aussi redémarré mon xampp déjà, quelqu'un Cna me aider pourquoi le [controller folder]/[function]/[argument] ne fonctionne pas?

+0

Vous pouvez suivre cette [lien] (https://stackoverflow.com/questions/46608887/codeigniter-3-1-6-how-to-remove -index-php-from-url/46615615 # 46615615) au même AQ. – Harish

Répondre

1

Mettez à jour votre script .htaccess:

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase /codeigniter 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond $1 !^(index\.php|images|robots\.txt|css|docs|js|system) 
    RewriteRule ^(.*)$ index.php?/$1 [L] 
</IfModule> 
+0

cela ne fonctionne pas :(, avant, il dit 404 page non trouvée, maintenant il dit objet non trouvé –

+1

404 était l'erreur .htaccess mais objet pas trouvé probablement une erreur quelque part dans le contrôleur ou le modèle – Harish

+0

j'ai essayé ce RewriteEngine Sur RewriteBase/codeigniter RewriteCond% {REQUEST_FILENAME}! -f RewriteCond% {REQUEST_FILENAME}! -d RewriteRule^(. *) $ index.php?/$ 1 [L] –

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

RewriteBase/[nom du fichier].

1

Utilisez cette option pour éviter de changer votre RewriteBase

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/$1 [L] 
</IfModule>