Как правильно перенаправить динамический URL-адрес на статический URL-адрес моего выбора с помощью htaccess?

У меня есть вопросы & отвечает на вопрос, какие вещи настроены, и когда посетитель хочет задать вопрос, он должен сначала войти в систему. Логин динамический; страница находится по адресу:

http://discuss.nationalcdp.org/questions/

Там кнопка «спросить» указывает на:

https://discuss.nationalcdp.org/questions/ask

Когда не зарегистрированный посетитель нажимает на это, он перенаправляется на:

https://discuss.nationalcdp.org/ncdp-login/?redirect_to=https%3A%2F
%2Fdiscuss.nationalcdp.org%2Fquestions%2Fask

Я вошел в мою cPanel и настроил перенаправления — с и без подстановочных знаков — но безрезультатно. Я пробовал:

https://discuss.nationalcdp.org/ncdp-login/ redirects to:
https://discuss.nationalcdp.org/login/

Наконец, и я знал, что это не сработает, но все равно попробовал, я настроил:

https://discuss.nationalcdp.org/ncdp-login/?redirect_to=https%3A%2F
%2Fdiscuss.nationalcdp.org%2Fquestions%2Fask  redirects to
https://discuss.nationalcdp.org/login/

Должен ли я оставаться вне cPanel и обрабатывать это с помощью корневого файла .htaccess?

Вот что cPanel записывает в мой файл htaccess, где я пытаюсь получить / subdomain / ncdp-login и / subdomain / register / для перенаправления в корневой домен:

RewriteCond %{HTTP_HOST} ^directory\.nationalcdp\.org$ [OR]
RewriteCond %{HTTP_HOST} ^www\.directory\.nationalcdp\.org$
RewriteRule ^ncdp\-login$ "https\:\/\/nationalcdp\.org\/profile\/login\/" [R=301,L]

RewriteCond %{HTTP_HOST} ^directory\.nationalcdp\.org$ [OR]
RewriteCond %{HTTP_HOST} ^www\.directory\.nationalcdp\.org$
RewriteRule ^register\/$ "https\:\/\/nationalcdp\.org\/profile\/register\/" [R=301,L]

RewriteCond %{HTTP_HOST} ^discuss\.nationalcdp\.org$ [OR]
RewriteCond %{HTTP_HOST} ^www\.discuss\.nationalcdp\.org$
RewriteRule ^register\/$ "https\:\/\/nationalcdp\.org\/profile\/register\/" [R=301,L]

RewriteCond %{HTTP_HOST} ^forums\.nationalcdp\.org$ [OR]
RewriteCond %{HTTP_HOST} ^www\.forums\.nationalcdp\.org$
RewriteRule ^ncdp\-login$ "https\:\/\/nationalcdp\.org\/profile\/login\/" [R=301,L]

RewriteCond %{HTTP_HOST} ^forums\.nationalcdp\.org$ [OR]
RewriteCond %{HTTP_HOST} ^www\.forums\.nationalcdp\.org$
RewriteRule ^register\/$ "https\:\/\/nationalcdp\.org\/profile\/register\/" [R=301,L]

RewriteCond %{HTTP_HOST} ^discuss\.nationalcdp\.org$ [OR]
RewriteCond %{HTTP_HOST} ^www\.discuss\.nationalcdp\.org$
RewriteRule ^ncdp\-login\/?(.*)$ "https\:\/\/nationalcdp\.org\/profile\/login\/$1"[R=301,L]

Любое руководство о том, как я могу получить этот динамически сгенерированный URL-адрес входа для перенаправления на https://discuss.nationalcdp.org/login/ будет принята с благодарностью!

1

Решение

Вы можете разместить это правило как самый первый Правило чуть ниже RewriteEngine On линия:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^discuss\.nationalcdp\.org$
RewriteRule ^ncdp-login/?$ /profile/login/? [L,NC,R=302]

Закомментируйте (удалите) все остальные правила для /ncdp-login,

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]