2014-02-11 106 views
0

我搜索了論壇,發現一些問題與我正在嘗試實現的內容接近,但它們並不適用於我正在嘗試執行的操作。如何將頁面參數重定向到不同域中的頁面

我們得到了一個新客戶,我們需要將他舊網站的頁面重定向到新網頁。 所有在舊網站的網頁上有這樣的結構:

http://www.domain.com/index.php?option=com_content&view=article&id=158&Itemid=179 

我需要每個頁面重定向到新網站的相關頁面。在新的網站URL的結構是這樣的:

http://newdomain.website.com/slug/ 

我假設要做到這一點的唯一方法是通過htaccess,但我無法弄清楚如何寫命令。

提前感謝您的幫助。

+0

所以新的URL應該是:'HTTP: //newdomain.website.com/slug/index.php?option=com_content&v iew = article&id = 158&Itemid = 179'? – anubhava

+0

我需要重定向。所以如果有人試圖訪問'http://www.domain.com/index.php?option = com_content&view = article&id = 158&Itemid = 179',將會被重定向到'http:// newdomain.website.com/slug /' –

+0

確定下面發佈了一個答案。 – anubhava

回答

0

試試這個:

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*) http://newdomain.website.com/slug/$1 [L,QSA] 
0

將這個代碼在你DOCUMENT_ROOT/.htaccess文件上domain.com

RewriteEngine On 

RewriteCond %{QUERY_STRING} ^option=.+ [NC] 
RewriteRule ^index\.php$ http://newdomain.website.com/slug/? [L,NC,R=301] 

編輯:

RewriteCond %{QUERY_STRING} ^option=.+?&Itemid=.*?64$ [NC] 
RewriteRule ^(index\.php)?$ http://newdomain.website.com/slug/? [L,NC,R=302] 

RewriteCond %{THE_REQUEST} /index\.php [NC] 
RewriteCond %{QUERY_STRING} ^option=.+?&Itemid=.*?64$ [NC] 
RewriteRule^http://newdomain.website.com/slug/? [L,NC,R=302] 
+0

我應該如何設置查詢字符串才能工作?我試過這個: 'RewriteCond%{QUERY_STRING} ^(option =。+?)&Itemid =(。64 *)$ [NC]'但它不起作用。 –

+0

嘗試此條件:'RewriteCond%{QUERY_STRING} ^(option =。+?)&Itemid =(。*?64。*)$ [NC]' – anubhava

+0

不幸的是,它仍然不起作用。我也嘗試通過改變第二部分從'RewriteRule^index \ .php $ http://newdomain.website.com/slug/? [L,NC,R = 301]'到'RewriteRule^$ http://newdomain.website.com/slug/? [R = 301,L]'但仍然沒有。 –

相關問題