将"http://x.com/address.1xxxx"转换为"http://address.y.com"的htaccess和正则表达式是什么



我有一个网站,在谷歌的索引中有大约1000个页面——只是这些页面不再存在于服务器上,需要指向另一个网站。我需要他们301重定向到其他服务器,他们将存在的子域,而不是页面。

老页面"http://x.com/address.1xxxx"

新页面"http://address.y.com"

,其中x.com是旧服务器,y.com是新服务器。此外,.1xxxx是数百个以1开头的不同邮政编码之一,即10010,它不再是新URL的一部分,需要删除。此外,页面名称的"地址"页是一个街道地址,用点代替空格——比如"123.main.st.anytown.ny"

我的。htaccess应该如何解析所有传入的页面请求并将它们发送到具有301永久重定向的其他站点?

谢谢!

我相信这应该行得通。如果邮政编码不全为5位,则将[0-9]{4}改为[0-9]+

# Rewrite requests to domain x.com
RewriteCond %{HTTP_HOST} ^x.com$
# Group the set before the final dot, followed by 5 digits starting with 1
# and place the group as $1 before .y.com
RewriteRule ^([A-Za-z0-9.-]+).(1[0-9]{4})$ http://$1.y.com [NC,L,R=301]

尝试将以下内容添加到站点x.com根目录下的。htaccess文件

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} ^/address.1[0-9]{4,4}$ [NC]
RewriteRule . http://address.y.com [NC,L,R=301]

如果address不是字面上的地址,而是一个变量,则使用

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} ^/(.+).1[0-9]{4,4}$ [NC]
RewriteRule . http://%1.y.com [NC,L,R=301]

相关内容

最新更新