htaccess переписать подкаталог как root, а также перенаправить, если к подкаталогу обращаются напрямую - PullRequest
0 голосов
/ 07 мая 2018

У меня есть такие URL

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]
...