#php #.htaccess
#php #.htaccess
Вопрос:
С перенаправлением htaccess im:
RewriteRule ^secure/ login.php [NC,L]
Я только хочу, чтобы людям было разрешено посещать: website.com/secure/
Но не: website.com/login.php
У кого-нибудь есть идея, как это сделать? Возможно, в php?
Комментарии:
1.
!^/secure
, то есть хиты, которые НЕ включены / защищены, перенаправляются?
Ответ №1:
Вы можете использовать:
RewriteEngine On
# block direct access to /login.php
# RewriteRule ^ - [F] line sends status 403 when RewriteCond succeeds.
RewriteCond %{THE_REQUEST} /login.php[s?/] [NC]
RewriteRule ^ - [F]
# internally rewrite /secure to /login.php
RewriteRule ^secure/?$ login.php [NC,L]
Первое правило — использовать THE_REQUEST
переменную. THE_REQUEST
переменная представляет исходный запрос, полученный Apache из вашего браузера, и он не перезаписывается после выполнения некоторых правил перезаписи. Примерное значение этой переменной GET /index.php?id=123 HTTP/1.1
Комментарии:
1. RewriteRule ^ — [F]
2. Я добавил больше деталей в ответ.