htaccess帮助 - 更改域名并删除细分

时间:2017-07-11 07:33:35

标签: .htaccess redirect mod-rewrite url-redirection

我已经更改了我一直在处理的网站的域名和网址结构。

我如何301将以下旧结构的所有请求重定向到新结构?另请注意,新结构没有斜杠。

OLD:http://www.domain.me/2017/01/30/entry-title/

---- 301重定向到以下--->

新:http://www.newdomain.com/entry-title

这是我到目前为止所尝试的:RewriteRule /\d{4}/\d{2}/\d{2}/(.*) $1 [R=301, L]

非常感谢

更新:htaccess:

<IfModule mod_rewrite.c>

RewriteEngine On

#entry pages
RewriteCond %{HTTP_HOST} ^(www\.)?domain\.me$ [NC]
RewriteRule ^/?\d{4}/\d{2}/\d{2}/([^/]+)/?$ http://www.newdomain.com/$1 [R=301,L,NE]

#other
RewriteRule ^shop/?$ "http://www.newdomain.com/shop" [R=301]
RewriteRule ^shop-wish-list-2017/?$ "http://www.newdomain.com/shop" [R=301]
RewriteRule ^about-me/?$ "http://www.newdomain.com/about" [R=301]
RewriteRule ^contact/?$ "http://www.newdomain.com/about" [R=301]
RewriteRule ^category/dubai/?$ "http://www.newdomain.com/category/dubai" [R=301]
RewriteRule ^category/travel/?$ "http://www.newdomain.com/category/travel" [R=301]
RewriteRule ^category/health/?$ "http://www.newdomain.com/category/lifestyle" [R=301]
RewriteRule ^category/beauty/?$ "http://www.newdomain.com/category/fashion-beauty" [R=301]
RewriteRule ^category/lifestyle/?$ "http://www.newdomain.com/category/lifestyle" [R=301]

</IfModule>

1 个答案:

答案 0 :(得分:0)

你很亲密。您可以使用:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^(www\.)?domain\.me$ [NC]
RewriteRule ^/?\d{4}/\d{2}/\d{2}/([^/]+)/?$ http://www.newdomain.com/$1 [R=301,L,NE]
  • ^/?提供了前导斜杠选项,以便规则可以从Apache配置和.htaccess
  • 中运行
  • /?$使尾随斜杠可选,以便我们可以在目标/$1
  • 中丢弃它

将此规则作为RewriteEngine On行之后的第一条规则。