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]