Apache-2.2

重定向永久 www.url.com –> www2.url.com

  • January 19, 2010

我無法重定向(通過.htaccess)這樣的網址:

www.url.com/index.php?option=com_content&task=view&id=60&Itemid=22

www2.url.com/something.htm

我發現問題出在“舊”網址上。“正常”重定向(www.url.com/test.htm –> www2.url.com/something.htm)效果很好。

我也嘗試過重寫,但找不到有效的解決方案。

也許有人知道如何解決我的問題?

非常感謝拉爾斯。

僅供參考:伺服器:Apache 和我對伺服器具有完全的 root 訪問權限

編輯使用的重寫規則:

我在 .htaccess 中使用重寫規則嘗試了以下操作

測試1:

RewriteCond %{QUERY_STRING} option=com_content&task=view&id=63&Itemid=11 RewriteRule $ www2.url.com [R=301,L] 

結果 1:它重定向到 www2 url,但不僅是 www2.url.com。它重定向到 www2.url.com/option=com_content&task=view&id=63&Itemid=11

測試 2:

RewriteRule ^option=com_content&task=view&id=63&Itemid=11$ www2.url.com [R=301,L] 

結果2:什麼都沒發生。感謝您提供任何進一步的提示:-)

想出瞭如何解決我的問題 - 感謝所有人在我解決這個問題的過程中提供的任何提示。

我在 www.url.com 域的 httpdocs 根文件夾中的 .htaccess 文件中添加了以下條目:

Options +FollowSymLinks
RewriteEngine on
RewriteBase /

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\?option=com_content&task=view&id=12&Itemid=11\ HTTP/
RewriteRule ^index\.php$ http://www2.url.com/?p=77 [R=301,L]

對於 www 域虛擬主機:

<VirtualHost *>
ServerName www.url.com
RewriteEngine on
Rewritecond %{HTTP_HOST} !^www2\.url\.com
RewriteRule (.*) http://www2.url.com/$1 [R=301,L]
</VirtualHost>

然後在 www2 上:

<VirtualHost *>
ServerName www2.url.com
RewriteEngine on
RewriteCond $1 index.php\?option\=com_content\&task\=view\&id\=60\&Itemid\=22
RewriteRule (.*) http://www2.url.com/something.html [R=301,L]
</VirtualHost>

引用自:https://serverfault.com/questions/103014