Хорошо, поэтому я установил .htaccess следующим образом:
Options +FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([^/]+)$ index.php
так что вы можете видеть, что я разбираю все, чтобы индексировать, кроме файлов, потому что мне нужно «включить» файлы php, а также отображать изображения.
Если пользователи будут печатать, например, www.site.com/login.php, который покажет страницу входа в систему.
Как предотвратить доступ к php-страницам, но также разрешить «включать» их?
Переместите их за пределы вашего корня документа. Они могут быть безопасно включены оттуда, но не доступны через Интернет.
Если я понимаю вопрос, вы не хотите, чтобы пользователь мог перейти к другим файлам, если он не вошел в систему? Если это так, вы можете использовать сеансы php для установки переменной, которую они регистрируют, в противном случае перенаправляют на индекс
(Если я понимаю вопрос)
Если вы хотите пойти по этому маршруту (рекомендации для внешнего webroot являются правильными!), Тогда вы можете использовать такое правило (см. Регулярное выражение с отрицательным выражением ):
RewriteRule ^(?!index).+\.php$ - [F]
Это неряшливо, что позволит index2.php
или indexdir/xyz.php
прежнему; он просто передает все, что не является index
* .php
из-за доступа. Обязательно также запретите .cgi
или .phtml
или .tpl
если это необходимо.