web-dev-qa-db-fra.com

Comment supprimer index.php de codeigniter dans UBUNTU

Je sais que cette question est déjà posée, j'ai essayé tous ceux mais toujours incapable de supprimer index.php d'url. Voici mes détails 

Ubuntu 12.10
PHP : 5.4.6
Mod_rewrite in on
CI verson: 2.1

.htacess ressemblent à:

RewriteEngine On
RewriteBase /projectname

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

Je regarde aussi le lien ci-dessous mais pas de chance. Impossible de supprimer index.php du site url basé sur CI

Comment supprimer "index.php" dans le chemin de codeigniter

Mon "/ etc/Apache2/sites-available/default" ressemble à ceci:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www
    <Directory />
        Options FollowSymLinks
        AllowOverride None 
        </Directory>
    <Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

    ErrorLog ${Apache_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${Apache_LOG_DIR}/access.log combined
</VirtualHost>

Toute aide appréciée !!

13
Suresh Kamrushi

Dans application/config/config.php change:

$config['index_page'] = 'index.php';

à:

$config['index_page'] = '';

c'est une bonne idée de recharger Apache chaque fois que vous modifiez un fichier de configuration Apache.

Sudo /etc/init.d/Apache2 reload

ou:

Sudo service Apache2 reload

ou:

Sudo /etc/init.d/httpd reload

(ou quelle que soit la commande équivalente pour votre plate-forme)

pour ce que cela vaut, voici mon .htaccess

RewriteEngine on
RewriteBase /
RewriteCond $1 !^(index\.php|static|robots\.txt|favicon\.ico|uploads|googlexxxxxxxx\.html|mobile.html)
RewriteRule ^(.*)$ index.php/$1 [L]
6
Kinjal Dixit

Étape 1 :

Ajouter ceci dans le fichier htaccess

<IfModule mod_rewrite.c>
  RewriteEngine On
  #RewriteBase /

  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^ index.php [QSA,L]
</IfModule>

Étape 2 :

Supprimer index.php dans codeigniter config

$config['base_url'] = ''; 
$config['index_page'] = '';

Étape 3 :

Autoriser le remplacement de htaccess dans la configuration d'Apache (commande)

Sudo nano /etc/Apache2/Apache2.conf

et éditez le fichier et passez à

AllowOverride All

pour le dossier www

Étape 4 :

Activation de la réécriture du mod Apache (Commande)

Sudo a2enmod rewrite

Étape 5:

Redémarrer Apache (Commande)

Sudo /etc/init.d/Apache2 restart
58
Dino

mon .htaccess

RewriteEngine on

RewriteCond $1 !^(index.php)

RewriteRule ^(.*)$ index.php/$1 [L]
0
blu