我遇到重定向问题,我们建立了一个新网站,旧网站上的博客需要重定向到新博客。每个博客帖子都需要重定向,其中有200多个。因此,无法为每个链接完成此操作
这是旧网址:
example.com/nl/blog/easy-car-shopping
这应该是新网址:
blog.example.com/easy-car-shopping/
因此example.com/nl/blog/
应重定向到blog.example.com/
,但到目前为止,我无法将其发挥作用。
有人可以帮助我吗?
答案 0 :(得分:0)
您可以在.htaccess
网站的根目录中创建example.com
文件。
RewriteEngine on
RewriteBase /
#if not already blog.example.com/
RewriteCond %{HTTP_HOST} !^blog\.example\.com$ [NC]
#if request is for blog/, go to blog.example.com
RewriteRule ^blog/$ http://blog.example.com [L,NC,R=301]
如果要删除/nl/
,则应将其包含在常规表达中。
它应该适合你,希望它有所帮助!
答案 1 :(得分:0)
在.htaccess
的{{1}}文件中(假设/nl/blog/.htaccess
是一个物理子目录),请使用mod_rewrite尝试以下操作:
/nl/blog
在您的示例中,此假定源URL不包含尾部斜杠。然后在替换(目标URL)上附加一个尾部斜杠。
通过将这些指令放在子目录RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteRule (.*) http://blog.example.com/$1/ [R=302,L]
文件而不是文档根目录中,可以避免在主站点上进行不必要的处理。
如果您确定它正常工作,请将.htaccess
(临时)重定向更改为302
(永久)重定向。 301s被浏览器缓存,因此可能会使测试出现问题。