#.htaccess
#.htaccess
Вопрос:
Я новичок на этом форуме и очень плохо разбираюсь в регулярных выражениях и перезаписях в htaccess. Я искал ответ на то, что я делаю, и, похоже, не могу найти тот, который я могу применить; хотя это не означает, что его там нет.
У меня есть правило перезаписи, которое отлично работает при входе в систему, показанное ниже, но как только вы выходите из системы (идентификационный номер в URL отсутствует), система, похоже, ломается.
RewriteEngine On
RewriteRule ^([0-9] )?$ /a_folder/index.php?userid=$1 [NC,L]
Я хочу, чтобы любой мог посещать основной пакет без блокировки, и когда пользователь входит в систему, посещать файл «a_folder / index.php?userid = $ 1». Я уверен, что ответ есть, у меня просто возникли проблемы с обработкой моего мозга вокруг regexp и RewriteCond.
Мне нужна вторая часть, о которой я забыл упомянуть. Если идентификатор пользователя в URL-адресе является идентификатором пользователя этого сеанса, я хочу направить их в a_folder. Но если идентификатор отличается у URL-адреса и сеанса, я хочу направить их в b_folder. Как я могу этого добиться?
Ответ №1:
RewriteRule ^$ /a_folder/logged_out.php [NC,L]
RewriteRule ^([0-9] )?$ /a_folder/index.php?userid=$1 [NC,L]
Я не уверен, понял ли я вопрос…
Комментарии:
1. Возможно, это так. Я думаю, что корень index.php файл domain.com это то, что сбивает с толку проблему. Если кто-то вводит www.domain.com их нужно было бы перенаправить на «/a_folder/logged_out.php «страница. Правильно?
2. Это сделало это! Я знал, что ответ должен быть простым. Я пытался перенаправить вышедшего из системы пользователя обратно на страницу индекса в domain.com. Создание страницы выхода из системы и добавление первого правила перезаписи выше в дополнение к существующему сделали это. Спасибо, Питер!
3. Мне нужна вторая часть, о которой я забыл упомянуть. Если идентификатор пользователя в URL-адресе является идентификатором пользователя этого сеанса, я хочу направить их в a_folder. Но если идентификатор отличается у URL-адреса и сеанса, я хочу направить их в b_folder. Как я могу этого добиться?
4. Сделайте перенаправление в первых строках в index.php на желаемый URL, например.: domain.com/d/123 . В htaccess вы можете использовать только COOKIES, и авторизовываться в php с помощью cookie небезопасно.
5. htaccess должен определить, является ли 123 идентификатором сеанса пользователя или нет. Независимо от того, перенаправляется ли он в папку «a_folder» или «b_folder», я хочу иметь возможность отображать URL как «www.domain.com/123 «. Являются ли файлы cookie безопасным способом сделать это в htaccess?