我已经更改了我一直在工作的网站的域和URL结构。
如何将所有请求从以下旧结构重定向到新结构?另请注意,新结构没有尾部斜杠。
旧: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>
你已经相当接近了。您可以使用:
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
行之后的第一条规则。