Перенаправить пользователя на одну страницу несмотря ни на что

Я закрываю свой веб-сайт, и мне нужно, чтобы веб-сайт продолжал работать в течение следующих 3 месяцев. То, что я хочу сделать, это разрешить вход только зарегистрированным пользователям. Остальная часть сайта будет закрыта. Как я могу настроить его так, чтобы независимо от того, на какую страницу переходит человек, он всегда перенаправлял его на страницу «Вход»?


person three3    schedule 30.01.2012    source источник
comment
трудно поверить, что вы сможете решить проблему с помощью .htaccess, но постарайтесь уточнить, какие технологии вы используете, как устроен веб-сайт и есть ли у вас какой-либо метод проверки подлинности пользователя.   -  person Narcis Radu    schedule 31.01.2012


Ответы (5)


Я полагаю, вы могли бы использовать простое перенаправление:

<?php
header("Location: http://www.example.com/login_page.php");
exit;
?>
person Tom    schedule 30.01.2012

я бы сказал, что это зависит от того, как настроен весь сайт. Если все страницы имеют что-то общее (например, главная страница в asp), вы можете поместить в код этой главной страницы что-то, что пытается проверить состояние сеанса. Если состояние сеанса не содержит какой-либо формы аутентификации (например, той, которую вы используете, когда пользователь входит в систему), перенаправьте пользователя на страницу входа.

person Sinaesthetic    schedule 30.01.2012

Пытаться:

RewriteEngine On
RewriteCond %{REQUEST_URI} !=/login_page.php
RewriteRule ^ /login_page.php [R=301]

Источник

person shaunsantacruz    schedule 30.01.2012
comment
Это перенаправит пользователей, которые уже посетили login_page.php и вошли в систему, обратно на страницу входа, не так ли? - person Ben Swinburne; 31.01.2012
comment
Хорошая мысль. Я не думал так далеко вперед. Удалить этот пост или оставить? - person shaunsantacruz; 31.01.2012

Если вы используете Apache, вы можете создать файл .htaccess в корне вашего сайта со следующим содержимым.

<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteRule (.*) http://www.yournewwebsite.com.com/login.php [R=301,L]
</IfModule>

Однако имейте в виду, что этот файл будет влиять на каждую страницу вашего веб-сайта, включая страницу входа.

person cb1    schedule 30.01.2012

Я бы посоветовал вам добавить немного функциональности к вашей текущей настройке, где вы можете сначала добавить сценарий входа в систему.

Пример:

<?php
include ("login.php");
if($logged_in === false){
//show login page.
exit();
}
//then rest of code goes here.

Таким образом, на вашем сайте по-прежнему есть все страницы, но теперь вы можете ограничить доступ только для людей, которым разрешено входить в систему.

person Jay D.    schedule 30.01.2012