Если запрос для www.website.com/index.php
, я хочу, чтобы www.website.com/login/index.php
отображалось. Но ЕСЛИ запрос для www.website.com/index.php?any-query
, я хочу, чтобы www.website.com/index.php?any-query
отображалось. Другими словами, если URL-адрес содержит какой-либо запрос, он отвечает именно на этот адрес. В противном случае все должно проходить через index.php в каталоге /login/. Надеюсь, я объяснил себя более понятно. Спасибо.
ИЗМЕНИТЬ для большей ясности
Я объясняю, как выглядит проблема. Когда я нажимаю на тег <a href="http://www.website.com/index.php?r=adm/lostpwd"></a>
(в файле /login/index.php
), он отвечает http://www.website.com/login/index.php?r=adm/lostpwd
, вместо этого я хотел бы, чтобы он отвечал именно http://www.website.com/index.php?r=adm/lostpwd
EDIT 2 ››› Текущий файл /.htaccess:
RewriteEngine On
RewriteCond %{THE_REQUEST} \s/+(?:index\.php)?\sHTTP [NC]
RewriteRule ^ /login/index.php [R=301,L]
Анализ текущих переадресаций
Текущая ситуация следующая. Когда я захожу на сайт site.com
301 https://website.com/ server_redirect permanent https://website.com/login/index.php
200 https://website.com/login/index.php
На странице /login/index.php
, когда я нажимаю <a href="http://website.com/index.php?r=adm/lostpwd"></a>
301 http://website.com/index.php?r=adm/lostpwd server_redirect permanent https://website.com/index.php?r=adm/lostpwd
200 https://website.com/index.php?r=adm/lostpwd
Когда я отправляю форму на странице /login/index.php
, создается ссылка для единого входа (header("Location: " . $link);
). Это сгенерированный трафик:
302 https://website.com/login/index.php server_redirect temporary https://website.com/index.php?r=adm/sso&login_user=username&time=1000&token=abcde
302 https://website.com/index.php?r=adm/sso&login_user=username&time=1000&token=abcde server_redirect temporary https://website.com/index.php
301 https://website.com/index.php server_redirect permanent https://website.com/login/index.php
200 https://website.com/login/index.php
В /login/index.php:
Это генерация ссылки для единого входа
if (password_verify($password_entered, $password)) {
$time = time();
$key = "abcde";
$token = "abcde";
$link = "https://www.website.com/index.php?r=adm/sso&login_user=".$user."&time=".$time."&token=".$token;
header("Location: " . $link);
exit;
}
<a href="https://website.com/index.php?r=adm/lostpwd"></a>
- person anubhava   schedule 04.11.2020302 https://website.com/index.php?r=adm/sso&login_user=username&time=1000&token=abcde server_redirect temporary https://website.com/index.php
, является загадкой, потому что показанный код PHP отличается. Есть другой код PHP, который делает это - person anubhava   schedule 04.11.2020