я задаюсь вопросом, как я могу решить следующую проблему. на корневом каталоге моего сервера находится, файл называет upload.php
я хочу смочь добавить "/загрузка" (без .php) к моему URL, и браузер должен попросить пароль (и возможно имя пользователя если возможный). Я я ввожу пароль (и имя пользователя) правильно upload.php, должен быть открыт.
Действительно ли это возможно с htaccess?
Да, это два разных вопроса.
Во-первых: удалите расширение .php.
В основном это можно сделать двумя способами.
Options + MultiViews
в блоке RewriteRule ^ upload $ upload.php
. Его также можно поместить в блок RewriteEngine на
. Секунды: требуется аутентификация
Вы можете сделать это как с PHP, так и с Apache.
function send401() {
$realm = "Credentials for upload";
header('WWW-Authenticate: Basic realm="'.$realm.'"');
header('HTTP/1.1 401 Unauthorized');
die();
}
function verify_credentials($user, $password) {
//check user and password here. Return true or false
return true;
}
if (!array_key_exists('PHP_AUTH_USER',$_SERVER) ||
!array_key_exists('PHP_AUTH_PW',$_SERVER)) {
send401();
}
elseif (!verify_credentials($_SERVER['PHP_AUTH_USER'],
$_SERVER['PHP_AUTH_PW']))
send401();
//if it gets here, the user was successfully authenticated