Php块访问没有重定向.htaccess

时间:2016-10-14 18:30:15

标签: php .htaccess

使用htaccess重定向:

RewriteRule ^secure/ login.php  [NC,L]

我只希望允许其他人访问:website.com/secure/ 但不是:website.com/login.php

任何人都知道如何做到这一点?可能在php?

1 个答案:

答案 0 :(得分: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