Je fais un projet dans CodeIgniter 3. Je dois supprimer index.php
de l'URL. Pour cela, aidez-moi à obtenir le fichier .htaccess
pour CodeIgniter 3 et également où placer ce fichier.
C'est mon baseurl
http://cableandmedia.com/demo/
Mettez à jour votre fichier htaccess avec le code ci-dessous
RewriteEngine On
RewriteBase /demo
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
et dans le fichier de configuration, veuillez modifier l’URL de base avec le code ci-dessous: -
$root = "http://".$_SERVER['HTTP_Host'];
$root .= str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']);
$config['base_url'] = $root;
place your htacces file in the root directory and use this following code
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
.htaccess
à root
du projet.htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
# !IMPORTANT! Set your RewriteBase here and don't forget trailing and leading
# slashes.
# If your page resides at
# http://www.example.com/mypage/test1
# then use
# RewriteBase /mypage/test1/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
# If we don't have mod_rewrite installed, all 404's
# can be sent to index.php, and everything works as normal.
# Submitted by: ElliotHaughin
ErrorDocument 404 /index.php
</IfModule>
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin: "*"
</IfModule>
2. Supprimez index.php au root/application/config/config.php
$config['index_page'] = '';
3. Si votre serveur est nouveau | le mode de réécriture de votre serveur a été refusé par rapport à Open Terminal Connect Your Server via le type SSH ci-dessous Code
Sudo a2enmod rewrite
Sudo service Apache2 restart
Sudo nano /etc/Apache2/Apache2.conf
Après cela, veuillez cocher AllowOverride
Est-ce All
ou non?
<Directory “/var/www”>
AllowOverride All
</Directory>
Dans votre config.php
, apportez les modifications suivantes.
$config['index_page'] = '';
Et ajoutez le fichier .htaccess
dans le répertoire principal du projet avec le contenu suivant
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
<Files "index.php">
AcceptPathInfo On
</Files>
Bien,
Voici ce que j'ai fait,
J'ai édité/créé ".htaccess" pour cela
RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
et "app/config/config.php"
$config['base_url'] = '';
$config['uri_protocol'] = 'AUTO';
et "app/libraries/Template.php"
define("PATH", base_url()."index.php/");
define("BASE", base_url());
À votre santé!
Fichier : config.php
$config['index_page'] = '';
Fichier : .htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
RewriteEngine vous permet de réécrire les demandes d’URL qui arrivent sur votre serveur et est basé sur un analyseur d’expression régulière.