使用mod_rewrite重定向您的整个网站

Htaccess,mod_rewrite和Apache

网页移动。 这是Web开发的事实。 如果你很聪明,你可以使用301重定向来防止链接腐烂。 但是如果你移动整个网站呢? 您可以通过手动为网站上的每个文件写入重定向。 但这可能需要很长时间。 幸运的是,可以使用htaccess和mod_rewrite通过几行代码重定向整个网站。

如何使用mod_rewrite重定向您的网站

  1. 在旧Web服务器的根目录中,使用文本编辑器编辑或创建一个新的.htaccess文件。
  2. 添加行:RewriteEngine ON
  3. 添加:RewriteRule ^(。*)$ http://newdomain.com/$1 [R = 301,L]

这一行将获取您的旧域请求的每个文件,并将其附加(具有相同的文件名)到您的新域的URL。 例如,http://www.olddomain.com/filename将被重定向到http://www.newdomain.com/filename。 R = 301告诉服务器重定向是永久的。

如果您已将整个网站完整移至新网域,那么该解决方案就非常完美。 但这并不经常发生。 更常见的情况是您的新域名有新的文件和目录。 但是,您不想丢失记住旧域和文件的客户。 所以,你应该设置你的mod_rewrite来将所有旧文件重定向到新的域:

RewriteRule ^。* $ http://newdomain.com/ [R = 301,L]

与之前的规则一样,R = 301使得它成为301重定向。 L告诉服务器这是最后一条规则。

一旦您在htaccess文件中设置了重写规则,您的新网站将从旧网址获取所有浏览量。