htaccess URL не найден - PullRequest
       12

htaccess URL не найден

0 голосов
/ 04 сентября 2018

У меня есть файл .htaccess и код в нем:

#command_players
RewriteRule ^command_players/([0-9]+)?$ command_players.php?id=$1 [NC,L]

Моя страница входа в систему должна перенаправляться на страницу command_players.php, если пользовательский ввод правильный:

if (password_verify($_POST['pass'], $results['pass'])) {
    $_SESSION['command']= 'ok';
    $_SESSION['id'] = $results['id'];
    redirect("command_players/$results[id]/");
}

Но я получаю сообщение об ошибке:

Запрошенный URL / site / command_players / 18 / не найден на этом сервере,

когда /site/command_players.php работает.

Я не хорош в htaccess, что я делаю не так?

Ответы [ 2 ]

0 голосов
/ 04 сентября 2018

Проблема была в папке, и я пропускаю '/' при перенаправлении входа в систему. Теперь это работает:

#command_players
RewriteRule ^command_players/([0-9]+)/?$ site/command_players.php?id=$1 [NC,L]



 if (password_verify($_POST['pass'], $results['pass'])) {
                                $_SESSION['command']= 'ok';
                                $_SESSION['id'] = $results['id'];
                                //redirect("command/list.php/$results[id]/");
                                redirect("/command_players/{$results['id']}/");
                            }
0 голосов
/ 04 сентября 2018

Вы должны включить косую черту (/) в свое регулярное выражение в файле htaccess, как показано ниже.

? означает «ноль или один из предыдущих», поэтому /? означает «без косой черты или один», что соответствует описанному вами шаблону.

#command_players
RewriteRule ^command_players/([0-9]+)/?$ command_players.php?id=$1 [NC,L]

Полезные ресурсы

...