2014-02-11 63 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]'但仍然没有。 –

相关问题