将网址重写为另一个域,同时保留网址的最后一部分

时间:2019-05-27 03:44:01

标签: .htaccess url-rewriting

我有一个与此类似的问题 URL rewrite for part of domain name

试图使用该规则,但是没有用。我认为url规则可能会有所不同。

我有网址:

olddomain.com/test/ref/s/page

olddomain.com/test/ref/s/page1

olddomain.com/test/ref/s/page2

我需要重写它们并维护网址的最后一部分,例如:

https://www.newdomain.com/test/ref/s/page

https://www.newdomain.com/test/ref/s/page1

https://www.newdomain.com/test/ref/s/page2

编辑: url的结尾是动态的,因此对每个链接使用单独的重定向是不切实际的。

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您可以使用.htaccess文件来执行此操作,类似于您引用的答案。如果您只想将旧网址分别发送到新网址,则可以使用Redirect 301内的.htaccess函数并上传到“旧域”的根目录中来轻松实现此目的,如下所示:

Redirect 301 /test/ref/s/page https://www.newdomain.com/test/ref/s/page
Redirect 301 /test/ref/s/page1 https://www.newdomain.com/test/ref/s/page1
Redirect 301 /test/ref/s/page2 https://www.newdomain.com/test/ref/s/page2

这会将每个旧网址的索引单独301转换为相应的新网址。

如果您要将所有内容从“旧域”重定向到“新域”,只需使用如下重写:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^olddomain.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.olddomain.com [NC]
RewriteRule ^(.*)$ https://newdomain.com/$1 [L,R=301,NC] 

您当然需要根据对SSL的使用进行配置。