使用RewriteRule名称.htaccess限制URL重定向

时间:2019-02-01 18:07:01

标签: php

我有check-login.php来防止使用url访问特定页面 但是当我键入RewriteRule名称

时,它不起作用

示例我输入URL: domain/user-home.php,check-login.php有效 但是当我输入URL: domain/home check-login.php时不可读/无法工作

我用.htaccess重写了我的php文件的名称,这是我的代码

RewriteRule ^home?$ user-home.php

我的问题是,当我在URL限制中键入RewriteRule名称不起作用时,这是我的check-login.php,它仅适用于上述user-home.php

这样的php文件名

check-login.php代码:

session_start();
if(!$_SESSION['LOGIN'])
{
    exit(include('error2.php'));
}
// this code is included in user-home.php

2 个答案:

答案 0 :(得分:0)

我在这里编辑了代码。最好的方法就是这样。

RewriteEngine on


RewriteCond %{REQUEST_METHOD} !^POST$
RewriteRule ^php/check-login.php$ - [NC,R=404,L]

这应重定向到未找到的404文件。

答案 1 :(得分:0)

这是另一种做事方式。 您应该在根目录上有404.php。

RewriteRule ^404/?$ 404.php
ErrorDocument 404 http://www.example.com/404/