Masquer les répertoires dans l’URL en utilisant htaccess

J’essaie de supprimer l’extension php et de cacher les sous-répertoires en utilisant le fichier .htaccess dans mon domaine. Cependant, je n’ai pas beaucoup de connaissances en regex et je suis vraiment coincé ici. J’apprécierais vraiment si quelqu’un pouvait aider avec ça!

Ce que j’essaie de réaliser, c’est:
www.example.com/index.php à www.example.com/index
www.example.com/assets/php/company.php à www.example.com/company

FICHIER ACTUEL

Options +FollowSymLinks -MultiViews  RewriteEngine On RewriteBase / RewriteRule ^assets/php/(.*)$ /$1 [L,NC,R=301] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.php -f RewriteRule ^(.*)$ $1.php [NC,L] #To externally redirect /dir/foo.php to /dir/foo RewriteCond %{THE_REQUEST} ^[AZ]{3,}\s([^.]+)\.php [NC] RewriteRule ^ %1 [R,L,NC]  

Actuellement, je peux supprimer l’extension .php de l’URL et accéder à http://www.example.com/company, mais elle affiche une erreur 404 introuvable. Je crois que je manque une ligne RewriteCond, mais je ne sais pas comment l’écrire. Ou ai-je besoin d’un autre fichier htaccess dans / assets / php /?

Sera vraiment apprécier si quelqu’un pourrait aider avec cela! Néanmoins, merci pour la lecture.

À votre santé,

TY

Vous pouvez avoir vos règles comme celle-ci dans root .htaccess:

 Options +FollowSymLinks -MultiViews RewriteEngine On RewriteBase / RewriteCond %{THE_REQUEST} /assets/php/([^.]+)\.php [NC] RewriteRule ^ /%1 [L,NC,R=301] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{DOCUMENT_ROOT}/assets/php/$1\.php -f [NC] RewriteRule ^([^.]+?)/?$ assets/php/$1.php [L] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{DOCUMENT_ROOT}/$1\.php -f [NC] RewriteRule ^([^.]+?)/?$ $1.php [NC,L] 

Utilisez ceci

 RewriteEngine on RewriteBase / #enforce www subdomain RewriteCond %{HTTP_HOST} !^$ RewriteCond %{HTTP_HOST} ^sitename.com [NC] RewriteCond %{HTTPS}s ^on(s)| RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] #forward all requests, except new/admin, to the 'new' directory without the user's awareness RewriteRule new/admin - [S=2] RewriteRule ^$ new/ [L] RewriteRule (.*) new/$1 [L]