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

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

我无法通过 .htaccess 重定向这样的 URL:

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

www2.url.com/something.htm

我发现问题出在“旧” URL 上。“正常”重定向 (www.url.com/test.htm --> www2.url.com/something.htm) 效果很好。

我也尝试过重写但找不到有效的解决方案。

也许有人知道如何解决我的问题?

提前感谢 Lars。

仅供参考:服务器: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:什么都没发生。感谢您的进一步提示 :-)

答案1

对于 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>

答案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]

相关内容