2011-11-08 48 views
1

位的附加信息...

PHPBB有辦法將您重定向登錄,你看之前的頁面後,即使你在您自己的頁面上使用外部登錄表單。但是他們認爲它應該是您自己的域內的相對路徑。如果你從their wiki像forum.mydomain.com ...如何從一個文件夾的子域重定向到主域

的例子一個子論壇這是不完全的偉大:<input type="hidden" name="redirect" value="./somefile.html" />

要解決的子域的問題,我想我會加一個FrontPage的指示重定向到它,就像<input type="hidden" name="redirect" value="./redirect/frontpagenews.php" />

所以,如果你使用的登錄表單頁面上http://mysite.com/frontpagenews.php論壇重定向URL最終看起來像forum.mysite.com/redirect/frontpagenews.php(這個作品中,論壇創建這個鏈接回去後登錄)。它所需要的是一個重寫規則,以檢測這種因此它實際上將送你回http://mysite.com/frontpagenews.php

的問題...

如何從forum.mysite.com/redirect/*anything*mysite.com/*anything*

我已經在這一段時間了,我認爲下面的代碼應該可以工作,除非它不工作。我把它放在forum.mysite.com的htaccess文件中的其他論壇重寫規則之上,因爲它可能應該沒問題,如果它是第一個檢查的規則。

RewriteCond %{HTTP_HOST} ^forum\.mysite\.com/redirect/(.*)$ [NC] 
RewriteRule (.*) http://mysite\.com/$1 [QSA,L,NC] 

還試圖以此爲條件,但沒有喜悅:

RewriteCond %{REQUEST_URI} /redirect/(.*)$ [NC] 

回答

0

的HTTP_HOST只對主機名,而不是路徑相匹配。該路徑需要成爲RewriteRule的一部分。假設你是在forum.mysite.com根編輯駐留(在相當於:forum.mysite.com/.htaccess).htaccess文件,它應該是這樣的:

RewriteCond %{HTTP_HOST} ^forum\.mysite\.com$ [NC] 
RewriteRule ^redirect/(.+)$ http://mysite.com/$1 [L,NC,R] 

你將不需要規則括號中的QSA,因爲查詢字符串無論如何都會被追加(除非您在目標中有?,例如http://mysite.com/$1?p=1)。

這將從forum.mysite.com/redirect/*anything*瀏覽器重定向到mysite.com/*anything*

+0

這工作完全,謝謝! – Mav

相關問題