2017-09-12 1 views
1

J'ai une URL comme http://example.com/index.php/fruit/1a2b3cObtenez URI params sans index.php

Je veux obtenir l'URI pour lequel j'ai écrit un code.

Maintenant, je veux supprimer le index.php de l'URL visible, il devrait fonctionner même lorsque l'URL est http://example.com/fruit/1a2b3c et il devrait encore pointer vers index.php

Je suis sur apache2 en utilisant PHP 7

+0

double possible de [Supprimer index.php url par htaccess] (https://stackoverflow.com/questions/20673235/remove-index-php-from-url-by-htaccess) – Ali

+0

double possible de [htaccess remove index.php d'url] (https://stackoverflow.com/questions/4365129/htaccess-remove-index-php-from-url) –

+0

Copie possible de [Référence: mod \ _rewrite, URL réécriture et "jolie liens "expliqué" (https://stackoverflow.com/questions/20563772/reference-mod-rewrite-url-rewriting-and-pretty-links-explained) –

Répondre

1

Ajoutez le code suivant à votre fichier .htaccess.

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase/

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

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s(.*)/index\.php [NC] 
RewriteRule^%1 [R=301,L] 
+0

Hey merci beaucoup pour votre réponse, cela a résolu mon problème, pourriez-vous également expliquer comment cela fonctionne, ligne par ligne? Je trouve difficile de comprendre quoi et comment cela fait cela? – zegulas

0

changer votre fichier .htaccess à,

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

espère que cela fonctionnera.