2014-12-27 92 views
0

我想在我的subdomain.olddomain.com所有未使用的鏈接重定向到newdomain.com 我試過,但它似乎並沒有子站點的工作重定向一個子域所有未使用的鏈接到域

RewriteCond %{HTTP_HOST} !^subdomain\.olddomain\.com [NC] 
RewriteRule ^/(.*)   http://www.newdomain.com/$1 [L,R=301] 

我設法使下面的代碼,但問題是它不會重定向或捕獲所有未使用的。它僅重定向訪問未使用的鏈路時的一個例子的url如下面的根部和返回頁面錯誤(例如,標籤)(自從)

sub.domain.com/product_info.php?products_id=999 & osCsid = 29f8a9504d1c4de90a1a1e4106344280

RewriteCond %{HTTP_HOST} !^www\.newdomain\.com$ [NC] 
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [R=301,L] 

附加信息: 我所試圖做的是重定向所有的鏈接從subdomain.olddomain.com來newdomain.com因此,例如,當有人訪問subdomain.olddomain.com/tags/vanilla或子域。 olddomain.com/product_info.php?products_id=999 & osCsid = 29f8a9504d1c4de90a1a1e4106344280m他們將被自動重定向到newdomain.com,該newdomain.com位於另一個服務器服務器

+1

「似乎沒有工作」是什麼意思?您能否添加一個不適合您的網址示例,您期望的與您實際得到的內容? – sjaime 2014-12-27 13:46:12

+0

其他鏈接不被捕獲。我更新了我的問題,請檢查 – JeVic 2014-12-27 18:43:31

回答

0

the documentation(重點煤礦):

每目錄重寫

  • 重寫引擎可能會在.htaccess文件和部分中使用,但有一些額外的複雜性。
  • 要在此上下文中啓用重寫引擎,您需要設置「RewriteEngine On」和「Options FollowSymLinks」必須啓用。如果 您的管理員已禁用覆蓋FollowSymLinks的 用戶目錄,則無法使用重寫引擎。出於安全原因,此限制是必需的。
  • 當使用在.htaccess重寫引擎文件的每目錄前綴(其總是爲特定的目錄相同的)是 用於重寫規則圖案匹配自動移除和 任何相對(未以斜線起動後自動添加或 協議名稱)替換會遇到規則集的結尾。請參閱 RewriteBase指令瞭解有關哪些前綴 將被添加回相對替換的更多信息。
  • 如果您希望匹配每個目錄(htaccess)RewriteRule中的完整URL路徑,請使用RewriteCond中的%{REQUEST_URI}變量。
  • 刪除的前綴總是以斜槓結尾,意味着匹配發生在從不具有前導斜槓的字符串上。因此,一個 模式與^ /從不匹配每個目錄上下文。
  • 儘管重寫規則在語法上和段落(包括它們的正則表達式對應部分)中是允許的,但這不應該是必需的,且不受支持。在這些情況下, 中斷的可能特徵是相對替換。

的的.htaccess文件是目錄級的,所以您的規則永遠不會匹配任何內容。你的規則應該是這樣的:

RewriteCond %{HTTP_HOST} !^subdomain\.olddomain\.com [NC] 
RewriteRule ^(.*)$   http://www.newdomain.com/$1 [L,R=301] 

這是假設newdomain.com不使用.htaccess文件,因爲這將導致無限重定向。

+0

我剛剛嘗試過,但它似乎並沒有工作 – JeVic 2014-12-27 14:56:46

+0

此規則將:重定向**所有**網址**除**網址域名「subdomain.olddomain.com」* *以**'http://www.newdomain.com/what-ever/the-old?url = was'。我懷疑你不想排除任何網址,並且你的新網域位於不同的服務器上。如果新域名不在新服務器上,那麼您希望排除新域名,而不是舊域名。 – Sumurai8 2014-12-27 15:30:19

+0

我想你誤會了。我想要做的是將所有來自subdomain.olddomain.com的鏈接重定向到newdomain.com,例如subdomain.olddomain.com/tags/vanilla,subdomain.olddomain.com/product_info.php?products_id=999&osCsid=29f8a9504d1c4de90a1a1e4106344280將重定向到與newdomain.com相同的url,newdomain位於不同的服務器中 – JeVic 2014-12-27 18:40:42

相關問題