簡體   English   中英

如何使用htaccess將動態URL正確重定向到我選擇的靜態URL?

[英]How do I properly redirect a dynamic URL to a static URL of my choice using 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/的指導

您可以將此規則作為第一個規則放在RewriteEngine On下面:

RewriteEngine On

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

注釋掉(刪除) /ncdp-login所有其他規則。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM