htaccess url重定向子域和路径

时间:2016-02-03 17:09:33

标签: apache .htaccess redirect mod-rewrite

我有两个子域连接到两个域和一个路径,我需要重定向到一个没有路径的相同子域的新域。

www.subdomainone.olddomain.com/path/article -> www.subdomainone.newdomain.com/article
www.subdomainone.olddomaintwo.com/path/article -> www.subdomainone.newdomain.com/article

www.subdomaintwo.olddomain.com/path/article -> www.subdomainone.newdomain.com/article
www.subdomaintwo.olddomaintwo.com/path/article -> www.subdomaintwo.newdomain.com/article

我不熟悉htaccess规则,我尝试过在线使用测试人员,但无法解决我的问题

3 个答案:

答案 0 :(得分:0)

Apache拥有url rewrites套简单的正则表达式,让你可以做任何这种操作的王者,所有流量的流量URL都会在指向正确的路径之前重建(如果你正在寻找什么)。

编写不重建保持不变的旧URL的storng规则。

mor trustes解决方案(当您迁移到新网址时)是重写所有旧网址但不提示用户访问网页,而是向用户发送重定向HTTP到新网址,以避免物理用户使用它们和它们会在短时间内被遗忘。

答案 1 :(得分:0)

您可以在olddomain的网站root .htaccess:

上使用此通用规则
RewriteEngine On

RewriteCond %{HTTP_HOST} ^www\.([^.]+)\.olddomain\.com$ [NC]
RewriteRule ^(?:fr(?:-ca)?/)?(.*)$ http://www.%1.newdomain.com/$1 [L,NC,R=302]

答案 2 :(得分:0)

example request:     
http://subdomain.olddomain.com/path/article/pme

htaccess 

Options +FollowSymlinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(.+)\.olddomain\.com$
RewriteRule ^(?:path(?:-pathy)?/)?(.*)$ http://%1.newdomain.com/$1 [R=301,QSA,L]

This accounts for a hyphen in the path also for a dynamic subdomain.

new url: http://subdomain.newdomain.com/article/pme
相关问题