Apache-2.2
重定向永久 www.url.com –> www2.url.com
我無法重定向(通過.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>