https://example.com/public https://example.com/public/faq.php
https://example.com https://example.com/faq.php
RewriteEngine On Options +FollowSymLinks RewriteRule ^$ public/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ public/$1 [L]
Это правило работает очень хорошо, но оно не перенаправляет, если кто-то обращается к "https://example.com/public/" или" https://example.com/public/faq.php"
Я нашел обходной путь для этого. Я добавил ниже код для перенаправления, если общедоступный каталог будет доступен напрямую.
RewriteCond %{THE_REQUEST} /public [NC] RewriteRule .* / [L,R]