2013-05-06 47 views
1

我在google上發現了很多建議,並試圖將我需要的所有內容粘貼到一起。但是,我沒有管理我的htaccess文件工作。htaccess通過傳遞所有參數來重寫新域名

我想一切從

www.gugus.com/abc/?lang=fr&something=true 

提前重定向到

https://test.example.com/abc/?lang=fr%something=true 

感謝您的幫助!

回答

1

這htaccess的必須在gugus.com根:

RewriteEngine On 
RewriteBase/
RewriteRule ^abc/?$ https://test.example.com/abc/ [L,R=301,QSA] 

這隻會重定向abcabc/頁面,使用或不使用查詢字符串。

編輯

如果你想htaccess的被定位成abc/文件夾:

RewriteEngine On 
RewriteBase /abc/ 
RewriteRule ^/?$ https://test.example.com/abc/ [L,R=301,QSA] 
+0

是否有解決方案,其中.htaccess文件位於/ abc /目錄中? – mkn 2013-05-06 14:01:10

+0

這是可能的,請參閱我的編輯。這不會像'gugus.com/abc/otherstuff.html'這樣重定向子頁面。如果您不想在'abc /'文件夾中重定向所有流量,請使用'^。* $'替代'^ /?$' – zessx 2013-05-06 14:06:25

+0

重定向的鏈接不包含任何參數。有沒有辦法迴應新的鏈接?我不知道傳遞參數時是否有什麼問題,並且應用程序(位於新的url後面)會替換當前的鏈接,並且它沒有參數 – mkn 2013-05-06 14:14:37

1

啓用mod_rewrite的,並通過httpd.conf的.htaccess,然後把這個代碼在你.htaccessDOCUMENT_ROOT/abc目錄:

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase /abc/ 

RewriteCond %{HTTP_HOST} ^www\.gugus\.com$ [NC] 
RewriteRule^https://test.example.com%{REQUEST_URI} [L,R=302] 

一旦你確認它工作正常,將R=302更換爲R=301。避免在測試mod_rewrite規則時使用R=301(永久重定向)。

+0

隨着你的解決方案,我在URL中丟失了查詢字符串。我可能需要以某種方式能夠回顯新鏈接,以便找出錯誤的位置(htaccess或新網址背後的應用程序) – mkn 2013-05-06 14:19:26

+0

您的解決方案也可以。 zessx在回答這個問題時有點快。所以我接受了他的解決方案非常感謝您的幫助! – mkn 2013-05-06 14:23:44

+0

不客氣,很高興你的問題解決了。 – anubhava 2013-05-06 14:26:44