Comment pointer le répertoire pour charger l’index avec .htaccess

J’essaie de configurer .htaccess pour mon site Web.

Il y a deux dossiers dans mon site Web 1- app , 2 – public .

Je veux charger index.php partir du dossier public et restreindre tout access direct au dossier de l’application

le .htaccess renvoie le résultat 403 Forbidden , mais si je déplace index.php dans le répertoire racine, il fonctionne, je veux juste indiquer que index.php est dans public répertoire public et y envoyer toutes les requêtes.

 Options -Indexes  RewriteEngine On RewriteBase /public/ # Force to exclude the trailing slash RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} (.*)/$ RewriteRule ^(.+)/$ $1 [R=307,L] # Ressortingct php files direct access RewriteCond %{THE_REQUEST} ^.+?\ [^?]+\.php[?\ ] RewriteRule \.php$ - [F] # Allow any files or directories that exist to be displayed directly RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?$1 [QSA,L]  

Eh bien, j’ai résolu ce problème comme ça, pour root répertoire root , j’ai géré .htaccess comme le code donné, l’idée est de redirect tous les appels vers le répertoire public .

 Options -Indexes  RewriteEngine on RewriteRule ^$ public/ [L] RewriteRule (.*) public/$1 [L]  

Et pour filtrer les requêtes, je mettais la seconde

 Options -Indexes  RewriteEngine On RewriteBase / # Force to exclude the trailing slash RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} (.*)/$ RewriteRule ^(.+)/$ $1 [R=307,L] # Ressortingct php files direct access RewriteCond %{THE_REQUEST} ^.+?\ [^?]+\.php[?\ ] RewriteRule \.php$ - [F] # Allow any files or directories that exist to be displayed directly RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?$1 [QSA,L]