Je ne suis pas encore familiarisé avec la configuration de mon fichier .htaccess, alors veuillez m'aider.
J'ai un lien qui va au index.php mais je ne veux pas que index.php apparaisse dans mon url
eg.
http://localhost/website/index.php
Je veux qu'il soit redirigé vers le dossier racine qui est
http://localhost/website/
J'ai donc essayé de chercher des réponses et c'est ce que j'ai obtenu jusqu'à présent.
RewriteEngine on
Options +FollowSymLinks
RewriteCond %{THE_REQUEST} ^.*/index.php
RewriteRule ^(.*)index.php$ http://localhost/website/$1 [R=301,L]
Maintenant, quand j'essaye de cliquer sur la maison de mon site web local, au lieu de me rediriger vers
http://localhost/website
il est redirigé vers ceci -
http://localhost/Applications/XAMPP/xamppfiles/htdocs/website/localhost/website/
Quelqu'un peut-il expliquer ce qui se passe?
Réponses:
0 pour la réponse № 1avez-vous essayé celui-ci
RewriteRule ^(.*)$ /index.php/$1 [L]
0 pour la réponse № 2
Les modifications que j'ai apportées avec mon fichier .htaccess ne prennent pas effet dès que j'actualise la page. Il m'a fallu du temps pour vider mon cache pour voir l'effet. J'ai essayé différentes approches à ma question:
Options +FollowSymLinks
RewriteEngine on
#RewriteCond %{THE_REQUEST} ^.*/index.php
#RewriteRule ^(.*)index.php$ http://localhost/website/$1 [R=301,L]
#RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /?(.*)/index.php
#RewriteRule ^ /%1 [L,R=301]
#RewriteRule ^(.*)$ /index.php/$1 [L]
Les lignes avec # n'ont pas résolu mon problème peut-êtrec'est parce que le cache n'est pas effacé, mais de toute façon cette ligne ci-dessous a résolu mon problème mais m'a pris 5 fois pour vider mon cache avant de voir le résultat.
RewriteRule ^index.php(.*)$ http://localhost/website/$1 [R=301,NC]
Je l'ai eu de générateur htaccess