【发布时间】:2017-05-15 20:26:15
【问题描述】:
我想使用动态查询字符串将旧域 url 重定向到新域
我的 htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^en.olddomain.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.en.olddomain.com$ [OR]
RewriteCond %{HTTP_HOST} ^en.olddomain.com/$1$
RewriteRule (.*)$ http://www.newdomain.com/$1 [R=301,L]
</IfModule>
它适用于将所有带有查询字符串的网址重定向到新网址
但我也想改变查询字符串的模式,比如
我的旧网址如
我想将其中一些重定向到
或者他们中的一些人
我在 htaccess 中添加了这些行以使用动态查询字符串进行重定向
RewriteCond %{QUERY_STRING} ^g=(.*)
RewriteRule ^http://www.newdomain.com/en/product/$1 [R=301,L,NC]
但它不起作用
【问题讨论】:
-
两个域是否由同一个网络服务器进程从同一台机器上的同一个文件夹提供服务?
mod_rewrite是否启用?在此之前或之后您的.htaccess文件中是否还有其他规则?上面的文件夹中有.htaccess吗?这是在网站文件夹的根目录中吗? -
@KraangPrime 我没有太多关于服务器的信息,它是客户端的域,所以我再次将旧域创建到服务器并添加了 htaccess 现在你能告诉我如何将查询字符串传递给重定向? en.olddomain.com/product?g=any_value 重定向到newdomain.com/en/product/ebony/any_value
-
@KraangPrime 我已经编辑了我的问题,你能帮我解决这个问题吗?
标签: .htaccess redirect mod-rewrite dns