Wordpress 通过htaccess将旧域的子目录重定向到新域的根文件夹

Wordpress 通过htaccess将旧域的子目录重定向到新域的根文件夹,wordpress,.htaccess,redirect,root,subdirectory,Wordpress,.htaccess,Redirect,Root,Subdirectory,我在wordpress博客上经历了几个域迭代,希望将旧链接重定向到新域。最初,这个博客是免费的 olddomain.com/blog/ 现在,博客位于 newdomain.com 旧域被设置为新域的域别名,它不会被转发 如果有人从 olddomain.com/blog/ 我需要它重定向到 newdomain.com/ 谢谢您的帮助。如果您正在运行apache web服务器,您只需在.htaccess文件中通过301重定向即可 转到你的olddomain.com FTP根目录 创建或

我在wordpress博客上经历了几个域迭代,希望将旧链接重定向到新域。最初,这个博客是免费的

olddomain.com/blog/
现在,博客位于

 newdomain.com
旧域被设置为新域的域别名,它不会被转发

如果有人从

 olddomain.com/blog/
我需要它重定向到

 newdomain.com/

谢谢您的帮助。

如果您正在运行apache web服务器,您只需在.htaccess文件中通过301重定向即可

  • 转到你的olddomain.com FTP根目录
  • 创建或编辑.htaccess文件
  • 添加以下行

    RewriteEngine On
    RewriteRule ^blog/* http://www.newdomain.com/ [R=301,L]
    

  • 但这只是将任何内容重定向到新域,如果您想要“SEO友好”(保留规范URL),您必须定义一个有点复杂的规则,请看这里:

    如果您运行的是apache web服务器,您可以在.htaccess文件中执行vía 301重定向

  • 转到你的olddomain.com FTP根目录
  • 创建或编辑.htaccess文件
  • 添加以下行

    RewriteEngine On
    RewriteRule ^blog/* http://www.newdomain.com/ [R=301,L]
    
  • 但这只是将任何内容重定向到新域,如果您想要“SEO友好”(保留规范URL),您必须定义一个有点复杂的规则,请看这里:

  • 只需创建.htaccess文件并将其放入要重定向的文件夹中 e、 g将其放入/blog文件夹中

  • 将以下行添加到.htaccess文件中

    重新启动发动机

    重写cond%{SERVER_PORT}80

    重写cond%{REQUEST_URI}博客

    重写规则^(.*)$$1[R,L]

  • 只需创建.htaccess文件并将其放入要重定向的文件夹中 e、 g将其放入/blog文件夹中

  • 将以下行添加到.htaccess文件中

    重新启动发动机

    重写cond%{SERVER_PORT}80

    重写cond%{REQUEST_URI}博客

    重写规则^(.*)$$1[R,L]


  • 如果您不严格限于.htaccess,并且可以选择修改
    olddomain.com
    VirtualHost
    配置,则可以将其添加到配置块:

    RewriteEngine on
    RedirectMatch 301 ^/blog/(.*) http://newdomain.com/$1
    

    这假设
    newdomain.com
    是一个独立的
    VirtualHost
    ,我们利用它进行域匹配,以防止在源位于公共文件夹中时发生重定向循环。

    如果您不严格限制为.htaccess,并且可以选择修改
    olddomain.com
    VirtualHost
    配置可以将其添加到配置块:

    RewriteEngine on
    RedirectMatch 301 ^/blog/(.*) http://newdomain.com/$1
    

    这假设
    newdomain.com
    是一个独立的
    VirtualHost
    ,我们利用它进行域匹配,以防止在源文件位于公共文件夹中时出现重定向循环。

    为什么要将其作为答案?这显然不是我想要的。您链接的页面仅包含基本301重定向。没有,它在哪里覆盖了从子目录到根目录的重定向。RewriteCond%{HTTP_HOST}^olddomain.com[NC]RewriteRule^olddomain subdirectory/(.*)$[R=301,L]从我所知道的,这是做我需要的事情的正确方法。这对我很有用。你为什么要把它作为答案呢?这显然不是我想要的。您链接的页面仅包含基本301重定向。没有,它在哪里覆盖了从子目录到根目录的重定向。RewriteCond%{HTTP_HOST}^olddomain.com[NC]RewriteRule^olddomain subdirectory/(.*)$[R=301,L]从我所知道的,这是做我需要的事情的正确方法。这对我很有效。